extensions.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 18 Sep 2012 13:49:14 +0000
changeset 20 cdf3ee8ceeaa
parent 16 75ff9255068a
child 24 f07f2a2a8148
permissions -rw-r--r--
- fixes
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
8a5b7afa28ff - First shot
jv
parents:
diff changeset
     1
"{ Package: 'stx:goodies/cypress' }"!
8a5b7afa28ff - First shot
jv
parents:
diff changeset
     2
2
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
     3
!Array methodsFor:'*Cypress-Structure'!
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
     4
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
     5
asCypressPropertyObject
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
     6
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
     7
	^self collect: [:each | each asCypressPropertyObject ]
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
     8
! !
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
     9
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    10
!Array methodsFor:'*Cypress-Structure'!
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    11
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    12
writeCypressJsonOn: aStream forHtml: forHtml indent: startIndent
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    13
4
207b76be6bcd Fixes to write a package in Cypress format
jv
parents: 3
diff changeset
    14
        | indent |
207b76be6bcd Fixes to write a package in Cypress format
jv
parents: 3
diff changeset
    15
        aStream 
207b76be6bcd Fixes to write a package in Cypress format
jv
parents: 3
diff changeset
    16
                nextPutAll: '[';
207b76be6bcd Fixes to write a package in Cypress format
jv
parents: 3
diff changeset
    17
                cr.
207b76be6bcd Fixes to write a package in Cypress format
jv
parents: 3
diff changeset
    18
        indent := startIndent + 1.
207b76be6bcd Fixes to write a package in Cypress format
jv
parents: 3
diff changeset
    19
        1 to: self size do: [:index | | item | 
207b76be6bcd Fixes to write a package in Cypress format
jv
parents: 3
diff changeset
    20
                item := self at: index.
207b76be6bcd Fixes to write a package in Cypress format
jv
parents: 3
diff changeset
    21
                aStream tab: indent.
5
0fd3156a3a9f - Some more work on package loading
jv
parents: 4
diff changeset
    22
                item writeCypressJsonOn: aStream forHtml: "forHtml"false indent: indent.
4
207b76be6bcd Fixes to write a package in Cypress format
jv
parents: 3
diff changeset
    23
                index < self size ifTrue: [ aStream nextPutAll: ','; cr ]].
207b76be6bcd Fixes to write a package in Cypress format
jv
parents: 3
diff changeset
    24
        self size = 0 ifTrue: [ aStream tab: indent ].
207b76be6bcd Fixes to write a package in Cypress format
jv
parents: 3
diff changeset
    25
        aStream nextPutAll: ' ]'
207b76be6bcd Fixes to write a package in Cypress format
jv
parents: 3
diff changeset
    26
5
0fd3156a3a9f - Some more work on package loading
jv
parents: 4
diff changeset
    27
    "Modified: / 31-08-2012 / 09:16:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    28
! !
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    29
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    30
!Boolean methodsFor:'*Cypress-Structure'!
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    31
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    32
writeCypressJsonOn: aStream forHtml: forHtml indent: startIndent
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    33
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    34
	aStream 
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    35
		nextPutAll: self printString
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    36
! !
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    37
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    38
!Character methodsFor:'*Cypress-Structure'!
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    39
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    40
isSafeForHTTP
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    41
        "whether a character is 'safe', or needs to be escaped when used, eg, in a URL"
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    42
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    43
        ^  asciivalue < 128
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    44
                and: [ self isAlphaNumeric
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    45
                                or: [ '.-_' includes: self ]]
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    46
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    47
    "Modified: / 30-08-2012 / 13:57:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    48
! !
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    49
1
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    50
!CharacterArray methodsFor:'Compatibility-Cuis'!
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    51
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    52
withLineEndings: lineEndString
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    53
    | stringColl |
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    54
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    55
    self assert: lineEndString size == 1.
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    56
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    57
    stringColl := self asStringCollection.
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    58
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    59
    ^stringColl
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    60
        asStringWith: lineEndString first 
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    61
        from:1 to:(stringColl size) 
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    62
        compressTabs:false 
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    63
        final:nil
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    64
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    65
    "Created: / 30-08-2012 / 11:27:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    66
! !
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    67
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    68
!CharacterArray class methodsFor:'Compatibility-Cuis'!
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    69
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    70
lfString
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    71
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    72
    ^String with: Character lf.
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    73
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    74
    "Created: / 30-08-2012 / 11:27:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    75
! !
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    76
2
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    77
!Class methodsFor:'*Cypress-Definitions'!
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    78
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    79
asCypressClassDefinition
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    80
	^CypressClassDefinition
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    81
		name: self name
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    82
		superclassName: self superclass name
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    83
		category: self category 
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    84
		instVarNames: self instVarNames
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    85
		classInstVarNames: self class instVarNames
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    86
		comment: self comment
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    87
! !
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    88
8
5d48f4894483 - CypressPackageReader
jv
parents: 6
diff changeset
    89
!ConfigurableFeatures class methodsFor:'queries-features'!
5d48f4894483 - CypressPackageReader
jv
parents: 6
diff changeset
    90
10
8750ae5ef93f - some fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
    91
hasCypress
8
5d48f4894483 - CypressPackageReader
jv
parents: 6
diff changeset
    92
    "Returns true, if Cypress support is loaded"
5d48f4894483 - CypressPackageReader
jv
parents: 6
diff changeset
    93
16
75ff9255068a - CypressWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    94
    ^(Smalltalk at: #CypressReader) notNil
8
5d48f4894483 - CypressPackageReader
jv
parents: 6
diff changeset
    95
5d48f4894483 - CypressPackageReader
jv
parents: 6
diff changeset
    96
    "
10
8750ae5ef93f - some fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
    97
     ConfigurableFeatures hasCypress              
8750ae5ef93f - some fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
    98
     ConfigurableFeatures includesFeature:#Cypress
8
5d48f4894483 - CypressPackageReader
jv
parents: 6
diff changeset
    99
    "
5d48f4894483 - CypressPackageReader
jv
parents: 6
diff changeset
   100
10
8750ae5ef93f - some fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
   101
    "Created: / 07-09-2012 / 19:16:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8
5d48f4894483 - CypressPackageReader
jv
parents: 6
diff changeset
   102
! !
5d48f4894483 - CypressPackageReader
jv
parents: 6
diff changeset
   103
2
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   104
!Dictionary methodsFor:'*Cypress-Structure'!
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   105
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   106
asCypressPropertyObject
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   107
    self associations do: [ :assoc | self at: assoc key put: assoc value asCypressPropertyObject ]
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   108
! !
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   109
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   110
!Dictionary methodsFor:'*Cypress-Structure'!
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   111
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   112
writeCypressJsonOn: aStream forHtml: forHtml indent: startIndent
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   113
    | indent count |
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   114
    indent := startIndent.
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   115
    aStream
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   116
        nextPutAll: '{';
4
207b76be6bcd Fixes to write a package in Cypress format
jv
parents: 3
diff changeset
   117
        cr.
2
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   118
    count := 0.
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   119
    indent := indent + 1.
4
207b76be6bcd Fixes to write a package in Cypress format
jv
parents: 3
diff changeset
   120
    (self keys asSortedCollection: [ :a :b | a <= b ])
2
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   121
        do: [ :key | 
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   122
            | value |
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   123
            value := self at: key.
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   124
            count := count + 1.
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   125
            aStream tab: indent.
5
0fd3156a3a9f - Some more work on package loading
jv
parents: 4
diff changeset
   126
            key writeCypressJsonOn: aStream forHtml: "forHtml"false indent: indent.
2
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   127
            aStream nextPutAll: ' : '.
5
0fd3156a3a9f - Some more work on package loading
jv
parents: 4
diff changeset
   128
            value writeCypressJsonOn: aStream forHtml: "forHtml"false indent: indent.
2
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   129
            count < self size
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   130
                ifTrue: [ 
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   131
                    aStream
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   132
                        nextPutAll: ',';
4
207b76be6bcd Fixes to write a package in Cypress format
jv
parents: 3
diff changeset
   133
                        cr ] ].
2
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   134
    self size = 0
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   135
        ifTrue: [ aStream tab: indent ].
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   136
    aStream nextPutAll: ' }'
4
207b76be6bcd Fixes to write a package in Cypress format
jv
parents: 3
diff changeset
   137
5
0fd3156a3a9f - Some more work on package loading
jv
parents: 4
diff changeset
   138
    "Modified: / 31-08-2012 / 09:17:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   139
! !
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   140
3
9a409f9edb67 - CypressSnapshotTest
jv
parents: 2
diff changeset
   141
!Method methodsFor:'converting'!
9a409f9edb67 - CypressSnapshotTest
jv
parents: 2
diff changeset
   142
9a409f9edb67 - CypressSnapshotTest
jv
parents: 2
diff changeset
   143
asCypressMethodDefinition
9a409f9edb67 - CypressSnapshotTest
jv
parents: 2
diff changeset
   144
9a409f9edb67 - CypressSnapshotTest
jv
parents: 2
diff changeset
   145
        ^CypressMethodDefinition 
9a409f9edb67 - CypressSnapshotTest
jv
parents: 2
diff changeset
   146
                className: (self methodClass isMeta ifTrue: [ self methodClass theNonMetaClass ] ifFalse: [ self methodClass ]) name
9a409f9edb67 - CypressSnapshotTest
jv
parents: 2
diff changeset
   147
                classIsMeta: self methodClass isMeta
9a409f9edb67 - CypressSnapshotTest
jv
parents: 2
diff changeset
   148
                selector: self selector
9a409f9edb67 - CypressSnapshotTest
jv
parents: 2
diff changeset
   149
                category: self category
6
65414b4bbe93 - CypressStructure
jv
parents: 5
diff changeset
   150
                source: self source
3
9a409f9edb67 - CypressSnapshotTest
jv
parents: 2
diff changeset
   151
                timeStamp: self timeStamp
9a409f9edb67 - CypressSnapshotTest
jv
parents: 2
diff changeset
   152
9a409f9edb67 - CypressSnapshotTest
jv
parents: 2
diff changeset
   153
    "Created: / 30-08-2012 / 14:05:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9a409f9edb67 - CypressSnapshotTest
jv
parents: 2
diff changeset
   154
! !
9a409f9edb67 - CypressSnapshotTest
jv
parents: 2
diff changeset
   155
2
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   156
!Number methodsFor:'*Cypress-Structure'!
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   157
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   158
writeCypressJsonOn: aStream forHtml: forHtml indent: startIndent
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   159
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   160
	aStream 
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   161
		nextPutAll: self printString
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   162
! !
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   163
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   164
!Object methodsFor:'*Cypress-Structure'!
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   165
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   166
asCypressPropertyObject
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   167
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   168
	^self
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   169
! !
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   170
13
f90704544ca0 More refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   171
!PackageId methodsFor:'converting'!
f90704544ca0 More refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   172
f90704544ca0 More refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   173
asCypressPackage
f90704544ca0 More refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   174
    ^CypressPackage fromPackage: self asSymbol.
f90704544ca0 More refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   175
f90704544ca0 More refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   176
    "Created: / 13-09-2012 / 14:33:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f90704544ca0 More refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   177
! !
f90704544ca0 More refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   178
f90704544ca0 More refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   179
!ProjectDefinition class methodsFor:'converting'!
f90704544ca0 More refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   180
f90704544ca0 More refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   181
asCypressPackage
f90704544ca0 More refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   182
    ^CypressPackage fromPackageDefinition: self.
f90704544ca0 More refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   183
f90704544ca0 More refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   184
    "Created: / 13-09-2012 / 14:33:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f90704544ca0 More refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   185
! !
f90704544ca0 More refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   186
2
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   187
!String methodsFor:'*Cypress-Structure'!
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   188
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   189
asCypressPropertyObject
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   190
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   191
	^self unescapePercents withLineEndings: String lfString
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   192
! !
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   193
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   194
!String methodsFor:'*Cypress-Structure'!
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   195
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   196
encodeForHTTP
5
0fd3156a3a9f - Some more work on package loading
jv
parents: 4
diff changeset
   197
        "change dangerous characters to their %XX form, for use in HTTP transactions"
0fd3156a3a9f - Some more work on package loading
jv
parents: 4
diff changeset
   198
        | encodedStream |
0fd3156a3a9f - Some more work on package loading
jv
parents: 4
diff changeset
   199
        encodedStream := WriteStream on: (String new).
0fd3156a3a9f - Some more work on package loading
jv
parents: 4
diff changeset
   200
        
0fd3156a3a9f - Some more work on package loading
jv
parents: 4
diff changeset
   201
        1 to: self size do: [ :n | | c |
0fd3156a3a9f - Some more work on package loading
jv
parents: 4
diff changeset
   202
                c := self at: n.
0fd3156a3a9f - Some more work on package loading
jv
parents: 4
diff changeset
   203
                c isSafeForHTTP ifTrue: [ encodedStream nextPut: c ] ifFalse: [
0fd3156a3a9f - Some more work on package loading
jv
parents: 4
diff changeset
   204
                        encodedStream nextPut: $%.
0fd3156a3a9f - Some more work on package loading
jv
parents: 4
diff changeset
   205
                        encodedStream nextPutAll: ((c asciiValue // 16) printStringRadix: 16).
0fd3156a3a9f - Some more work on package loading
jv
parents: 4
diff changeset
   206
                        encodedStream nextPutAll: ((c asciiValue \\ 16) printStringRadix: 16).
0fd3156a3a9f - Some more work on package loading
jv
parents: 4
diff changeset
   207
                ]
0fd3156a3a9f - Some more work on package loading
jv
parents: 4
diff changeset
   208
        ].
0fd3156a3a9f - Some more work on package loading
jv
parents: 4
diff changeset
   209
        ^encodedStream contents.
0fd3156a3a9f - Some more work on package loading
jv
parents: 4
diff changeset
   210
0fd3156a3a9f - Some more work on package loading
jv
parents: 4
diff changeset
   211
    "Modified: / 30-08-2012 / 11:31:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   212
! !
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   213
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   214
!String methodsFor:'*Cypress-Structure'!
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   215
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   216
writeCypressJsonOn: aStream forHtml: forHtml indent: startIndent
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   217
5
0fd3156a3a9f - Some more work on package loading
jv
parents: 4
diff changeset
   218
        aStream 
0fd3156a3a9f - Some more work on package loading
jv
parents: 4
diff changeset
   219
                nextPutAll: '"';
0fd3156a3a9f - Some more work on package loading
jv
parents: 4
diff changeset
   220
                nextPutAll: ("forHtml"false
0fd3156a3a9f - Some more work on package loading
jv
parents: 4
diff changeset
   221
                        ifTrue: [ (self withLineEndings: String lfString) encodeForHTTP ]
0fd3156a3a9f - Some more work on package loading
jv
parents: 4
diff changeset
   222
                        ifFalse: [ self withLineEndings: String lfString ]);
0fd3156a3a9f - Some more work on package loading
jv
parents: 4
diff changeset
   223
                nextPutAll: '"'
0fd3156a3a9f - Some more work on package loading
jv
parents: 4
diff changeset
   224
0fd3156a3a9f - Some more work on package loading
jv
parents: 4
diff changeset
   225
    "Modified: / 31-08-2012 / 09:17:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   226
! !
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   227
13
f90704544ca0 More refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   228
!Symbol methodsFor:'converting'!
f90704544ca0 More refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   229
f90704544ca0 More refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   230
asCypressPackage
f90704544ca0 More refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   231
    ^CypressPackage fromPackage: self.
f90704544ca0 More refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   232
f90704544ca0 More refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   233
    "Created: / 13-09-2012 / 14:33:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f90704544ca0 More refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   234
! !
f90704544ca0 More refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   235
1
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   236
!stx_goodies_cypress class methodsFor:'documentation'!
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   237
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   238
extensionsVersion_SVN
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   239
    ^ '$Id::                                                                                                                        $'
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   240
! !