ironfan 3.1.4 → 3.1.5

Sign up to get free protection for your applications and to get access to all the features.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ironfan
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.4
4
+ version: 3.1.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-02-24 00:00:00.000000000 Z
12
+ date: 2012-04-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: chef
16
- requirement: &70227495617500 !ruby/object:Gem::Requirement
16
+ requirement: &70162771110700 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,21 +21,21 @@ dependencies:
21
21
  version: 0.10.4
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70227495617500
24
+ version_requirements: *70162771110700
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: fog
27
- requirement: &70227495615600 !ruby/object:Gem::Requirement
27
+ requirement: &70162771109680 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
31
31
  - !ruby/object:Gem::Version
32
- version: 1.1.1
32
+ version: 1.2.0
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70227495615600
35
+ version_requirements: *70162771109680
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: formatador
38
- requirement: &70227495599620 !ruby/object:Gem::Requirement
38
+ requirement: &70162771109180 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 0.2.1
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70227495599620
46
+ version_requirements: *70162771109180
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: gorillib
49
- requirement: &70227495597800 !ruby/object:Gem::Requirement
49
+ requirement: &70162771108660 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 0.1.7
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70227495597800
57
+ version_requirements: *70162771108660
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: bundler
60
- requirement: &70227495596820 !ruby/object:Gem::Requirement
60
+ requirement: &70162771108140 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '1'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70227495596820
68
+ version_requirements: *70162771108140
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: jeweler
71
- requirement: &70227495596220 !ruby/object:Gem::Requirement
71
+ requirement: &70162771107560 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ~>
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '1.6'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70227495596220
79
+ version_requirements: *70162771107560
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: rspec
82
- requirement: &70227495595620 !ruby/object:Gem::Requirement
82
+ requirement: &70162771106960 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ~>
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: '2.5'
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *70227495595620
90
+ version_requirements: *70162771106960
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: yard
93
- requirement: &70227495595040 !ruby/object:Gem::Requirement
93
+ requirement: &70162771106400 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ~>
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: '0.6'
99
99
  type: :development
100
100
  prerelease: false
101
- version_requirements: *70227495595040
101
+ version_requirements: *70162771106400
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: redcarpet
104
- requirement: &70227495594420 !ruby/object:Gem::Requirement
104
+ requirement: &70162771105860 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ~>
@@ -109,8 +109,8 @@ dependencies:
109
109
  version: '2'
110
110
  type: :development
111
111
  prerelease: false
112
- version_requirements: *70227495594420
113
- description: ironfan allows you to orchestrate not just systems but clusters of machines.
112
+ version_requirements: *70162771105860
113
+ description: Ironfan allows you to orchestrate not just systems but clusters of machines.
114
114
  It includes a powerful layer on top of knife and a collection of cloud cookbooks.
115
115
  email: coders@infochimps.com
116
116
  executables: []
@@ -131,8 +131,6 @@ files:
131
131
  - TODO.md
132
132
  - VERSION
133
133
  - chefignore
134
- - cluster_chef-knife.gemspec
135
- - cluster_chef.gemspec
136
134
  - config/client.rb
137
135
  - config/proxy.pac
138
136
  - config/ubuntu10.04-ironfan.erb
@@ -146,6 +144,7 @@ files:
146
144
  - lib/chef/knife/cluster_launch.rb
147
145
  - lib/chef/knife/cluster_list.rb
148
146
  - lib/chef/knife/cluster_proxy.rb
147
+ - lib/chef/knife/cluster_pry.rb
149
148
  - lib/chef/knife/cluster_show.rb
150
149
  - lib/chef/knife/cluster_ssh.rb
151
150
  - lib/chef/knife/cluster_start.rb
@@ -173,9 +172,11 @@ files:
173
172
  - lib/ironfan/server.rb
174
173
  - lib/ironfan/server_slice.rb
175
174
  - lib/ironfan/volume.rb
175
+ - notes/Backup of ec2-pricing_and_capacity.numbers
176
176
  - notes/Home.md
177
177
  - notes/INSTALL-cloud_setup.md
178
178
  - notes/INSTALL.md
179
+ - notes/Ironfan-Roadmap.md
179
180
  - notes/advanced-superpowers.md
180
181
  - notes/aws_servers.jpg
181
182
  - notes/aws_user_key.png
@@ -185,9 +186,9 @@ files:
185
186
  - notes/design_notes-aspect_oriented_devops.md
186
187
  - notes/design_notes-ci_testing.md
187
188
  - notes/design_notes-cookbook_event_ordering.md
188
- - notes/design_notes-dsl_object.md
189
189
  - notes/design_notes-meta_discovery.md
190
190
  - notes/ec2-pricing_and_capacity.md
191
+ - notes/ec2-pricing_and_capacity.numbers
191
192
  - notes/homebase-layout.txt
192
193
  - notes/knife-cluster-commands.md
193
194
  - notes/named-cloud-objects.md
@@ -210,7 +211,6 @@ files:
210
211
  - spec/spec_helper/dummy_chef.rb
211
212
  - spec/test_config.rb
212
213
  - tasks/chef_config.rake
213
- - tasks/jeweler_use_alt_branch.rake
214
214
  homepage: http://infochimps.com/labs
215
215
  licenses:
216
216
  - apachev2
@@ -226,7 +226,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
226
226
  version: '0'
227
227
  segments:
228
228
  - 0
229
- hash: 1126420917351030912
229
+ hash: -2369371738440792103
230
230
  required_rubygems_version: !ruby/object:Gem::Requirement
231
231
  none: false
232
232
  requirements:
@@ -235,10 +235,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
235
235
  version: '0'
236
236
  requirements: []
237
237
  rubyforge_project:
238
- rubygems_version: 1.8.15
238
+ rubygems_version: 1.8.11
239
239
  signing_key:
240
240
  specification_version: 3
241
- summary: ironfan allows you to orchestrate not just systems but clusters of machines.
241
+ summary: Ironfan allows you to orchestrate not just systems but clusters of machines.
242
242
  It includes a powerful layer on top of knife and a collection of cloud cookbooks.
243
243
  test_files:
244
244
  - spec/ironfan/cluster_spec.rb
@@ -1,122 +0,0 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
- # -*- encoding: utf-8 -*-
5
-
6
- Gem::Specification.new do |s|
7
- s.name = "cluster_chef-knife"
8
- s.version = "3.1.0"
9
-
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Infochimps"]
12
- s.date = "2012-02-18"
13
- s.description = "cluster_chef-knife allows you to orchestrate not just systems but clusters of machines. It includes a powerful layer on top of knife and a collection of cloud cookbooks."
14
- s.email = "coders@infochimps.com"
15
- s.extra_rdoc_files = [
16
- "LICENSE.md",
17
- "README.md"
18
- ]
19
- s.files = [
20
- ".gitignore",
21
- ".rspec",
22
- "CHANGELOG.md",
23
- "Gemfile",
24
- "LICENSE.md",
25
- "README.md",
26
- "Rakefile",
27
- "TODO.md",
28
- "VERSION",
29
- "chefignore",
30
- "cluster_chef-knife.gemspec",
31
- "config/client.rb",
32
- "config/proxy.pac",
33
- "config/ubuntu10.04-ironfan.erb",
34
- "config/ubuntu11.10-ironfan.erb",
35
- "ironfan.gemspec",
36
- "lib/chef/knife/bootstrap/ubuntu10.04-ironfan.erb",
37
- "lib/chef/knife/bootstrap/ubuntu11.10-ironfan.erb",
38
- "lib/chef/knife/cluster_bootstrap.rb",
39
- "lib/chef/knife/cluster_kick.rb",
40
- "lib/chef/knife/cluster_kill.rb",
41
- "lib/chef/knife/cluster_launch.rb",
42
- "lib/chef/knife/cluster_list.rb",
43
- "lib/chef/knife/cluster_proxy.rb",
44
- "lib/chef/knife/cluster_show.rb",
45
- "lib/chef/knife/cluster_ssh.rb",
46
- "lib/chef/knife/cluster_start.rb",
47
- "lib/chef/knife/cluster_stop.rb",
48
- "lib/chef/knife/cluster_sync.rb",
49
- "lib/chef/knife/ironfan_script.rb",
50
- "lib/chef/knife/ironfan_knife_common.rb",
51
- "lib/ironfan.rb",
52
- "lib/ironfan/chef_layer.rb",
53
- "lib/ironfan/cloud.rb",
54
- "lib/ironfan/cluster.rb",
55
- "lib/ironfan/compute.rb",
56
- "lib/ironfan/deprecated.rb",
57
- "lib/ironfan/discovery.rb",
58
- "lib/ironfan/dsl_object.rb",
59
- "lib/ironfan/facet.rb",
60
- "lib/ironfan/fog_layer.rb",
61
- "lib/ironfan/private_key.rb",
62
- "lib/ironfan/role_implications.rb",
63
- "lib/ironfan/security_group.rb",
64
- "lib/ironfan/server.rb",
65
- "lib/ironfan/server_slice.rb",
66
- "lib/ironfan/volume.rb",
67
- "rspec.watchr",
68
- "spec/ironfan/cluster_spec.rb",
69
- "spec/ironfan/facet_spec.rb",
70
- "spec/ironfan/server_slice_spec.rb",
71
- "spec/ironfan/server_spec.rb",
72
- "spec/ironfan_spec.rb",
73
- "spec/spec_helper.rb",
74
- "spec/spec_helper/dummy_chef.rb",
75
- "spec/test_config.rb",
76
- "tasks/chef_config.rake",
77
- "tasks/jeweler_use_alt_branch.rake"
78
- ]
79
- s.homepage = "http://infochimps.com/labs"
80
- s.licenses = ["apachev2"]
81
- s.post_install_message = "!! This gem has been renamed 'ironfan' (from cluster_chef). \n It will not be updated after Feb. 2012. \n Sorry for the inconvenience."
82
- s.require_paths = ["lib"]
83
- s.rubygems_version = "1.8.15"
84
- s.summary = "cluster_chef-knife allows you to orchestrate not just systems but clusters of machines. It includes a powerful layer on top of knife and a collection of cloud cookbooks."
85
- s.test_files = ["spec/ironfan/cluster_spec.rb", "spec/ironfan/facet_spec.rb", "spec/ironfan/server_slice_spec.rb", "spec/ironfan/server_spec.rb", "spec/ironfan_spec.rb", "spec/spec_helper/dummy_chef.rb", "spec/spec_helper.rb", "spec/test_config.rb"]
86
-
87
- if s.respond_to? :specification_version then
88
- s.specification_version = 3
89
-
90
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
91
- s.add_runtime_dependency(%q<chef>, ["~> 0.10.4"])
92
- s.add_runtime_dependency(%q<fog>, ["~> 1.1.1"])
93
- s.add_runtime_dependency(%q<formatador>, ["~> 0.2.1"])
94
- s.add_runtime_dependency(%q<gorillib>, ["~> 0.1.7"])
95
- s.add_development_dependency(%q<bundler>, ["~> 1"])
96
- s.add_development_dependency(%q<jeweler>, ["~> 1.6"])
97
- s.add_development_dependency(%q<rspec>, ["~> 2.5"])
98
- s.add_development_dependency(%q<yard>, ["~> 0.6"])
99
- s.add_development_dependency(%q<configliere>, ["~> 0.4.8"])
100
- else
101
- s.add_dependency(%q<chef>, ["~> 0.10.4"])
102
- s.add_dependency(%q<fog>, ["~> 1.1.1"])
103
- s.add_dependency(%q<formatador>, ["~> 0.2.1"])
104
- s.add_dependency(%q<gorillib>, ["~> 0.1.7"])
105
- s.add_dependency(%q<bundler>, ["~> 1"])
106
- s.add_dependency(%q<jeweler>, ["~> 1.6"])
107
- s.add_dependency(%q<rspec>, ["~> 2.5"])
108
- s.add_dependency(%q<yard>, ["~> 0.6"])
109
- s.add_dependency(%q<configliere>, ["~> 0.4.8"])
110
- end
111
- else
112
- s.add_dependency(%q<chef>, ["~> 0.10.4"])
113
- s.add_dependency(%q<fog>, ["~> 1.1.1"])
114
- s.add_dependency(%q<formatador>, ["~> 0.2.1"])
115
- s.add_dependency(%q<gorillib>, ["~> 0.1.7"])
116
- s.add_dependency(%q<bundler>, ["~> 1"])
117
- s.add_dependency(%q<jeweler>, ["~> 1.6"])
118
- s.add_dependency(%q<rspec>, ["~> 2.5"])
119
- s.add_dependency(%q<yard>, ["~> 0.6"])
120
- s.add_dependency(%q<configliere>, ["~> 0.4.8"])
121
- end
122
- end
data/cluster_chef.gemspec DELETED
@@ -1,111 +0,0 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
- # -*- encoding: utf-8 -*-
5
-
6
- Gem::Specification.new do |s|
7
- s.name = "cluster_chef"
8
- s.version = "3.1.0"
9
-
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Infochimps"]
12
- s.date = "2012-02-18"
13
- s.description = "cluster_chef allows you to orchestrate not just systems but clusters of machines. It includes a powerful layer on top of knife and a collection of cloud cookbooks."
14
- s.email = "coders@infochimps.com"
15
- s.extra_rdoc_files = [
16
- "LICENSE.md",
17
- "README.md"
18
- ]
19
- s.files = [
20
- ".gitignore",
21
- ".rspec",
22
- "CHANGELOG.md",
23
- "Gemfile",
24
- "LICENSE.md",
25
- "README.md",
26
- "Rakefile",
27
- "TODO.md",
28
- "VERSION",
29
- "chefignore",
30
- "cluster_chef.gemspec",
31
- "config/client.rb",
32
- "config/proxy.pac",
33
- "config/ubuntu10.04-ironfan.erb",
34
- "config/ubuntu11.10-ironfan.erb",
35
- "ironfan.gemspec",
36
- "lib/ironfan.rb",
37
- "lib/ironfan/chef_layer.rb",
38
- "lib/ironfan/cloud.rb",
39
- "lib/ironfan/cluster.rb",
40
- "lib/ironfan/compute.rb",
41
- "lib/ironfan/deprecated.rb",
42
- "lib/ironfan/discovery.rb",
43
- "lib/ironfan/dsl_object.rb",
44
- "lib/ironfan/facet.rb",
45
- "lib/ironfan/fog_layer.rb",
46
- "lib/ironfan/private_key.rb",
47
- "lib/ironfan/role_implications.rb",
48
- "lib/ironfan/security_group.rb",
49
- "lib/ironfan/server.rb",
50
- "lib/ironfan/server_slice.rb",
51
- "lib/ironfan/volume.rb",
52
- "rspec.watchr",
53
- "spec/ironfan/cluster_spec.rb",
54
- "spec/ironfan/facet_spec.rb",
55
- "spec/ironfan/server_slice_spec.rb",
56
- "spec/ironfan/server_spec.rb",
57
- "spec/ironfan_spec.rb",
58
- "spec/spec_helper.rb",
59
- "spec/spec_helper/dummy_chef.rb",
60
- "spec/test_config.rb",
61
- "tasks/chef_config.rake",
62
- "tasks/jeweler_use_alt_branch.rake"
63
- ]
64
- s.homepage = "http://infochimps.com/labs"
65
- s.licenses = ["apachev2"]
66
- s.post_install_message = "!! This gem has been renamed 'ironfan' (from cluster_chef). \n It will not be updated after Feb. 2012. \n Sorry for the inconvenience."
67
- s.require_paths = ["lib"]
68
- s.rubygems_version = "1.8.15"
69
- s.summary = "cluster_chef allows you to orchestrate not just systems but clusters of machines. It includes a powerful layer on top of knife and a collection of cloud cookbooks."
70
- s.test_files = ["spec/ironfan/cluster_spec.rb", "spec/ironfan/facet_spec.rb", "spec/ironfan/server_slice_spec.rb", "spec/ironfan/server_spec.rb", "spec/ironfan_spec.rb", "spec/spec_helper/dummy_chef.rb", "spec/spec_helper.rb", "spec/test_config.rb"]
71
-
72
- if s.respond_to? :specification_version then
73
- s.specification_version = 3
74
-
75
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
76
- s.add_runtime_dependency(%q<chef>, ["~> 0.10.4"])
77
- s.add_runtime_dependency(%q<fog>, ["~> 1.1.1"])
78
- s.add_runtime_dependency(%q<formatador>, ["~> 0.2.1"])
79
- s.add_runtime_dependency(%q<gorillib>, ["~> 0.1.7"])
80
- s.add_development_dependency(%q<bundler>, ["~> 1"])
81
- s.add_development_dependency(%q<jeweler>, ["~> 1.6"])
82
- s.add_development_dependency(%q<rspec>, ["~> 2.5"])
83
- s.add_development_dependency(%q<yard>, ["~> 0.6"])
84
- s.add_development_dependency(%q<configliere>, ["~> 0.4.8"])
85
- s.add_runtime_dependency(%q<cluster_chef-knife>, ["= 3.1.0"])
86
- else
87
- s.add_dependency(%q<chef>, ["~> 0.10.4"])
88
- s.add_dependency(%q<fog>, ["~> 1.1.1"])
89
- s.add_dependency(%q<formatador>, ["~> 0.2.1"])
90
- s.add_dependency(%q<gorillib>, ["~> 0.1.7"])
91
- s.add_dependency(%q<bundler>, ["~> 1"])
92
- s.add_dependency(%q<jeweler>, ["~> 1.6"])
93
- s.add_dependency(%q<rspec>, ["~> 2.5"])
94
- s.add_dependency(%q<yard>, ["~> 0.6"])
95
- s.add_dependency(%q<configliere>, ["~> 0.4.8"])
96
- s.add_dependency(%q<cluster_chef-knife>, ["= 3.1.0"])
97
- end
98
- else
99
- s.add_dependency(%q<chef>, ["~> 0.10.4"])
100
- s.add_dependency(%q<fog>, ["~> 1.1.1"])
101
- s.add_dependency(%q<formatador>, ["~> 0.2.1"])
102
- s.add_dependency(%q<gorillib>, ["~> 0.1.7"])
103
- s.add_dependency(%q<bundler>, ["~> 1"])
104
- s.add_dependency(%q<jeweler>, ["~> 1.6"])
105
- s.add_dependency(%q<rspec>, ["~> 2.5"])
106
- s.add_dependency(%q<yard>, ["~> 0.6"])
107
- s.add_dependency(%q<configliere>, ["~> 0.4.8"])
108
- s.add_dependency(%q<cluster_chef-knife>, ["= 3.1.0"])
109
- end
110
- end
111
-
@@ -1,109 +0,0 @@
1
-
2
- property :color, :type => Integer
3
- property :color, :type => String
4
- property :color, :type => Pathname
5
-
6
- * is a subclass of extlib's `Mash` (Hash with indifferent access).
7
- - in the
8
-
9
- * does not have to be performant. Obviously it can't suck, but we're not going to worry about say the overhead of converting values to `dsl_mash`es on assignment.
10
-
11
- ## Layering
12
-
13
- This is the key thing. We don't prescribe *any* resolution semantics except the following:
14
-
15
- * layers are evaluated in order to create a composite, `dup`ing as you go.
16
- * while building a composite, when a later layer and the current layer collide:
17
- - if layer has merge logic, hand it off.
18
- - simple + any: clobber
19
- - array + array: layer value appended to composite value
20
- - hash + hash: recurse
21
- - otherwise: error
22
-
23
- ### no complicated resolution rules allowed
24
-
25
- This is the key to the whole thing.
26
-
27
- * You can very easily
28
- * You can adorn an object with merge logic if it's more complicated than that
29
-
30
- ### duping (?)
31
-
32
- I'm not certain of the always-`dup` rule. We'll find out
33
-
34
- __________________________________________________________________________
35
-
36
- ## Interface
37
-
38
- ### setter/getter/block
39
-
40
-
41
- * `obj.foo` -- returns value of foo
42
- * `obj.foo(val)` -- sets foo to val; val must not be `nil`
43
- * `obj.unset(:foo)` -- unsets foo
44
-
45
- want:
46
-
47
- * `obj.foo ||= val` -- sets foo to val if foo is unset, `false` or `nil`
48
- * `obj.default(:foo, val)` -- sets foo to val if foo is unset
49
-
50
- provisionally, these are `protected`:
51
-
52
- * `obj.get(:foo)` -- returns value of foo
53
- * `obj.set(:foo, val)` -- sets foo to val
54
-
55
- ### how hash-like is this?
56
-
57
-
58
-
59
- * obj.deep_get(:foo, :bar, :baz) #
60
- * obj.deep_set(:foo, :bar, :baz, val) # sets foo bar baz.
61
- - where property has a type, it uses that type
62
- - otherwise it uses Mash, and calls [] on it
63
-
64
-
65
- * TD votes NO on magic recursive hash behavior
66
-
67
- * `obj[:foo]`
68
- * `obj[:foo] = val`
69
- * `obj[:foo][:bar][:baz]` -- when this has a value
70
- * `obj[:foo][:bar][:baz]` -- when some or all of those have never been set?
71
- * `obj[:foo][:bar][:baz] = 1` -- when `obj[:foo]` has never been set
72
- * `obj[:foo][:bar][:baz] = 1` -- when `obj[:foo]` has never been set
73
- * `obj[:foo][:bar][:baz] ||= 1` -- **hard** ?I think?
74
-
75
- * `obj[:foo]` -- nil
76
- * `obj[:foo][:bar]` -- raise
77
- * `obj[:foo][:bar] = 3` --
78
- - now obj[:foo][:bar] is 3
79
- - and obj[:foo] is a ?dsl_object?? but
80
-
81
- `obj[:foo][:bar]`
82
-
83
- Suppose `obj[:foo]` is set to a
84
-
85
- Seems clear these should do the right thing:
86
-
87
- * `obj.merge`
88
- * `obj.reverse_merge`
89
- * `obj.keys`
90
- * `obj.values`
91
- * ... and a few more
92
-
93
- Also:
94
-
95
- * `obj.to_a`?
96
- * `obj.each`?
97
- * other crazy Enumerable properties?
98
-
99
-
100
- ### collection attributes
101
-
102
-
103
- | array | array | add or clobber
104
- |
105
-
106
- ### nested objects
107
-
108
-
109
- ### type co
@@ -1,53 +0,0 @@
1
-
2
- #
3
- # Jeweler has hardcoded the 'master' branch as where to push from.
4
- # We hardcode it right back in.
5
- #
6
-
7
- module Jeweler::Commands
8
-
9
- PUSH_FROM_BRANCH = 'master' unless defined?(PUSH_FROM_BRANCH)
10
-
11
- ReleaseToGit.class_eval do
12
- def run
13
- branch = PUSH_FROM_BRANCH
14
- remote = 'origin'
15
-
16
- unless clean_staging_area?
17
- system "git status"
18
- raise "Unclean staging area! Be sure to commit or .gitignore everything first. See `git status` above."
19
- end
20
-
21
- repo.checkout(branch)
22
- repo.push(remote, branch)
23
-
24
- if release_not_tagged?
25
- output.puts "Tagging #{release_tag}"
26
- repo.add_tag(release_tag)
27
-
28
- output.puts "Pushing #{release_tag} to origin"
29
- repo.push('origin', release_tag)
30
- end
31
- end
32
- end
33
-
34
- ReleaseGemspec.class_eval do
35
- def run
36
- branch = PUSH_FROM_BRANCH
37
- remote = 'origin'
38
-
39
- unless clean_staging_area?
40
- system "git status"
41
- raise "Unclean staging area! Be sure to commit or .gitignore everything first. See `git status` above."
42
- end
43
-
44
- repo.checkout(branch)
45
-
46
- regenerate_gemspec!
47
- commit_gemspec! if gemspec_changed?
48
-
49
- output.puts "Pushing #{branch} to origin"
50
- repo.push(remote, branch)
51
- end
52
- end
53
- end