cameleon 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,15 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 60f13a50c58163f9e4371856a863664fa0bcccac
4
- data.tar.gz: 12983397d6e8c0bdf31510687d21efffd7fb2f6d
5
- SHA512:
6
- metadata.gz: ebb0ab435472008c3dfbad172b88912bf361f45ebf6bbd9fa0d99ef129e2eac8cc0a0a18ab0a34f573bcf8d91a99b39137e9c3325978fc833bf6fc1a140b36c3
7
- data.tar.gz: deca055d5b4f11a99b6e98437a2eec13f33ceb9c9bd065076eb2b947e6d5441b59d93b8f48f1417dee27089a9f556d40c5c52fbeee82f0d6813bab3b2b3c9b51
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ N2ZlY2MwOWMxMGEyOGUyY2I2YTkwMDJiYTAwZDNkNzY1MDg3ZTVmNw==
5
+ data.tar.gz: !binary |-
6
+ MWY3NDdmZTg3MDAzNGVkYTlhNDdjMGQxMjBkMDI1MzQyNzE4YTEzYw==
7
+ !binary "U0hBNTEy":
8
+ metadata.gz: !binary |-
9
+ YmY2NDdkNmY0MmQwNTBlZTkyNjg2ZjEyOTViNTliMWQ2MmI3ZDlhMWQ0NmI3
10
+ YTI2MmY0ZTNjNDUxYWY4ZTQ4MmRhYWI4NWEzYzI5YTQ2MzNmMDYzMDhiMzJj
11
+ NTIwMmVkMjQxNDFmYmNjYzg1ODViMGQwYzQzNDU0ODZlMTFlMzQ=
12
+ data.tar.gz: !binary |-
13
+ Mzc5NWZlMTYzNTZlNzI0OTVjZjUwZTc1MjJjNzA3MWI4M2ViZmIwMmFmZWI0
14
+ NGRjOTAyOWE0OTVhMzE2YThlMzEyYzlkOGJhMjczMzA5NDIxZWI4NmY1NWRj
15
+ NDRlMmZlYjE2NDkzYmE1YWY4NmM3YzUzMTZkNGQwZWQzNDBiNTI=
data/README.md CHANGED
@@ -132,6 +132,20 @@ Notice:
132
132
 
133
133
  Cameleon validates request body only in POST or PUT http method.
134
134
 
135
+ ### initializer.rb : Setup for _switch.rb
136
+
137
+ If you want to use some libraries or your own modules on your _switch.rb, cameleons load initializer.rb on boot-time.
138
+ So you can write some code inside Cameleon::setup scope.
139
+
140
+ Cameleon::setup do |config|
141
+ require 'some_library'
142
+ config.foo = 'FOO'
143
+ end
144
+
145
+ Then you can refer the config in _switch.rb.
146
+
147
+ Cameleon.config.foo #=> 'FOO'
148
+
135
149
  ## Gallery
136
150
  You can get various samples using "cameleon gallery" command.
137
151
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.4
1
+ 0.1.5
@@ -2,13 +2,24 @@
2
2
 
3
3
  require 'cameleon'
4
4
  require 'fileutils'
5
+ require 'erubis'
5
6
 
6
7
  def new
7
8
  project_name = ARGV.shift
8
9
  FileUtils.mkdir_p project_name
9
10
  base_dir = File.join(Cameleon.root, 'template/new')
10
11
  Dir.glob("#{base_dir}/*").map do |f|
11
- FileUtils.cp_r f, project_name
12
+ if File.file? f
13
+ src = File.read f
14
+ erb = Erubis::Eruby.new src
15
+ text = erb.result(binding)
16
+ basename = File.basename(f)
17
+ File.open(File.join(project_name, basename), 'w') do |out|
18
+ out.write text
19
+ end
20
+ elsif File.directory? f
21
+ FileUtils.cp_r f, project_name
22
+ end
12
23
  end
13
24
  end
14
25
 
data/lib/cameleon.rb CHANGED
@@ -40,6 +40,21 @@ class Cameleon
40
40
  end
41
41
  Hashie::Mash.new YAML.load(File.read(path))
42
42
  end
43
+ load_setup
44
+ @config
43
45
  end # config
46
+
47
+ def load_setup
48
+ require './initializer.rb'
49
+ end
50
+
51
+ # call from initializer.rb
52
+ def setup(&block)
53
+ block.call(@config)
54
+ end
55
+
56
+ def version
57
+ File.read(File.join(Cameleon.root, "VERSION")).chomp
58
+ end
44
59
  end # class methods
45
60
  end
data/template/new/Gemfile CHANGED
@@ -1 +1 @@
1
- gem 'cameleon'
1
+ gem 'cameleon', '<%= Cameleon.version %>'
@@ -0,0 +1,12 @@
1
+ Cameleon::setup do |config|
2
+ # Write your own initialization code
3
+ # such as loading some library for _switch.rb
4
+
5
+ # Argument 'config' is Hashie::Mash object that is set values from cameleon.yml.
6
+ # You can set your own values into conifg,
7
+ # and read the value in _switch.rb through Cameleon.config.
8
+ # example:
9
+ # config.foo = 'FOO'
10
+ # in _switch.rb
11
+ # Cameleon.config.foo #=> 'FOO'
12
+ end
metadata CHANGED
@@ -1,139 +1,139 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cameleon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - daixque
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-20 00:00:00.000000000 Z
11
+ date: 2014-02-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: erubis
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ! '>='
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ! '>='
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rack
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ! '>='
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ! '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: hashie
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ! '>='
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ! '>='
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: json
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ! '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ! '>='
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: json-schema
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ! '>='
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ! '>='
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: nokogiri
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - '>='
87
+ - - ! '>='
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - '>='
94
+ - - ! '>='
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: bundler
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - '>='
101
+ - - ! '>='
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - '>='
108
+ - - ! '>='
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: rake
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - '>='
115
+ - - ! '>='
116
116
  - !ruby/object:Gem::Version
117
117
  version: '0'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - '>='
122
+ - - ! '>='
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: shoulda
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - '>='
129
+ - - ! '>='
130
130
  - !ruby/object:Gem::Version
131
131
  version: '0'
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - '>='
136
+ - - ! '>='
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  description: Cameleon is HTTP mock server framework based on Rack. You can easily
@@ -188,6 +188,7 @@ files:
188
188
  - template/generate/default
189
189
  - template/new/Gemfile
190
190
  - template/new/cameleon.yml
191
+ - template/new/initializer.rb
191
192
  - template/new/response/_root/_switch.rb
192
193
  - template/new/response/_root/default
193
194
  - test/helper.rb
@@ -202,12 +203,12 @@ require_paths:
202
203
  - lib
203
204
  required_ruby_version: !ruby/object:Gem::Requirement
204
205
  requirements:
205
- - - '>='
206
+ - - ! '>='
206
207
  - !ruby/object:Gem::Version
207
208
  version: '0'
208
209
  required_rubygems_version: !ruby/object:Gem::Requirement
209
210
  requirements:
210
- - - '>='
211
+ - - ! '>='
211
212
  - !ruby/object:Gem::Version
212
213
  version: '0'
213
214
  requirements: []