scorpion-ioc 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/.rspec +0 -1
  3. data/Gemfile +0 -1
  4. data/README.md +4 -1
  5. data/lib/scorpion.rb +38 -11
  6. data/lib/scorpion/attribute.rb +4 -1
  7. data/lib/scorpion/chain_hunter.rb +58 -0
  8. data/lib/scorpion/dependency.rb +7 -3
  9. data/lib/scorpion/dependency/builder_dependency.rb +5 -1
  10. data/lib/scorpion/dependency/class_dependency.rb +10 -7
  11. data/lib/scorpion/dependency_map.rb +11 -2
  12. data/lib/scorpion/error.rb +6 -0
  13. data/lib/scorpion/hunt.rb +32 -21
  14. data/lib/scorpion/hunter.rb +15 -2
  15. data/lib/scorpion/locale/en.yml +1 -0
  16. data/lib/scorpion/method.rb +24 -0
  17. data/lib/scorpion/nest.rb +5 -0
  18. data/lib/scorpion/object.rb +30 -23
  19. data/lib/scorpion/object_constructor.rb +23 -14
  20. data/lib/scorpion/rails.rb +1 -0
  21. data/lib/scorpion/rails/active_record/association.rb +5 -6
  22. data/lib/scorpion/rails/active_record/model.rb +4 -5
  23. data/lib/scorpion/rails/active_record/relation.rb +2 -4
  24. data/lib/scorpion/rails/controller.rb +31 -2
  25. data/lib/scorpion/rails/job.rb +12 -0
  26. data/lib/scorpion/rails/mailer.rb +42 -0
  27. data/lib/scorpion/rails/nest.rb +23 -20
  28. data/lib/scorpion/rails/railtie.rb +1 -0
  29. data/lib/scorpion/rspec/helper.rb +47 -0
  30. data/lib/scorpion/stinger.rb +0 -1
  31. data/lib/scorpion/version.rb +1 -1
  32. data/scorpion.gemspec +1 -0
  33. data/spec/lib/scorpion/attribute_spec.rb +10 -0
  34. data/spec/lib/scorpion/hunt_spec.rb +9 -3
  35. data/spec/lib/scorpion/hunter_spec.rb +13 -2
  36. data/spec/lib/scorpion/object_constructor_spec.rb +63 -6
  37. data/spec/lib/scorpion/object_spec.rb +9 -5
  38. data/spec/lib/scorpion/rails/controller_spec.rb +33 -1
  39. data/spec/lib/scorpion/rspec/helper_spec.rb +10 -0
  40. data/spec/spec_helper.rb +5 -0
  41. metadata +20 -3
@@ -25,6 +25,16 @@ describe Scorpion::Rspec::Helper do
25
25
  expect( scorpion.fetch Numeric ).to eq 42
26
26
  end
27
27
 
28
+ context "hunting" do
29
+ hunt( :number, Numeric, 5 )
30
+ hunt( :string, String ) { "hello" }
31
+ hunt( :double, Regexp )
32
+
33
+ specify{ expect( scorpion.fetch Numeric ).to eq 5 }
34
+ specify{ expect( scorpion.fetch String ).to eq "hello" }
35
+ specify{ expect( scorpion.fetch Regexp ).to be_a RSpec::Mocks::TestDouble }
36
+ end
37
+
28
38
  context "child context" do
29
39
  it "inherits" do
30
40
  expect( scorpion.fetch String ).to eq "Shazam!"
data/spec/spec_helper.rb CHANGED
@@ -32,4 +32,9 @@ RSpec.configure do |config|
32
32
  config.before(:each) { GC.disable }
33
33
  config.after(:each) { GC.enable }
34
34
 
35
+ config.before( :each, type: :model ) do
36
+ [ Todo, Author ].each do |model|
37
+ model.destroy_all
38
+ end
39
+ end
35
40
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scorpion-ioc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paul Alexander
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-27 00:00:00.000000000 Z
11
+ date: 2015-08-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -94,6 +94,20 @@ dependencies:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: 0.5.3
97
+ - !ruby/object:Gem::Dependency
98
+ name: sqlite3
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
97
111
  description: Embrace convention over configuration while still benefitting from dependency
98
112
  injection design principles.
99
113
  email:
@@ -120,6 +134,7 @@ files:
120
134
  - lib/scorpion.rb
121
135
  - lib/scorpion/attribute.rb
122
136
  - lib/scorpion/attribute_set.rb
137
+ - lib/scorpion/chain_hunter.rb
123
138
  - lib/scorpion/dependency.rb
124
139
  - lib/scorpion/dependency/argument_dependency.rb
125
140
  - lib/scorpion/dependency/builder_dependency.rb
@@ -131,6 +146,7 @@ files:
131
146
  - lib/scorpion/hunt.rb
132
147
  - lib/scorpion/hunter.rb
133
148
  - lib/scorpion/locale/en.yml
149
+ - lib/scorpion/method.rb
134
150
  - lib/scorpion/nest.rb
135
151
  - lib/scorpion/object.rb
136
152
  - lib/scorpion/object_constructor.rb
@@ -141,6 +157,7 @@ files:
141
157
  - lib/scorpion/rails/active_record/relation.rb
142
158
  - lib/scorpion/rails/controller.rb
143
159
  - lib/scorpion/rails/job.rb
160
+ - lib/scorpion/rails/mailer.rb
144
161
  - lib/scorpion/rails/nest.rb
145
162
  - lib/scorpion/rails/railtie.rb
146
163
  - lib/scorpion/rspec.rb
@@ -195,7 +212,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
195
212
  version: '0'
196
213
  requirements: []
197
214
  rubyforge_project:
198
- rubygems_version: 2.4.6
215
+ rubygems_version: 2.4.8
199
216
  signing_key:
200
217
  specification_version: 4
201
218
  summary: Add IoC to rails with minimal fuss and ceremony