dependency_injection-sinatra 0.1.0 → 0.1.2
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +11 -0
- data/Gemfile.lock +10 -10
- data/README.md +75 -0
- data/dependency_injection-sinatra.gemspec +1 -1
- data/lib/sinatra/dependency_injection/helper.rb +1 -1
- data/lib/sinatra/dependency_injection/version.rb +1 -1
- metadata +6 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 74469c907b68c1a1c04d6e23574175832ce73437
|
4
|
+
data.tar.gz: 31eec0e6237c8b01de9c3fdec4645e6b2fe06956
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 090f2e6936d34fc2ebbeb950ee45aee3ca5a0ac176a54a7c2abd6f8d43ff5c2f2d9aa8684dbb01f89544cd489e2a6a40df257cdcc815bc93faa5b5aad145cc33
|
7
|
+
data.tar.gz: ba1d3b099df20e08385afe86aefc3c75930fb9246996146b8eb6a63f1c792e6437b3bd863abb946d50406eac0a8dca2dac1fcd48da5659e07e79c320566a4210
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
# v0.1.2 (2014-03-29)
|
2
|
+
|
3
|
+
* Bump dependency_injection-ruby to [v0.4.3](https://github.com/kdisneur/dependency_injection-ruby/blob/develop/CHANGELOG.md#043-2014-03-29)
|
4
|
+
|
5
|
+
# v0.1.1 (2014-03-16)
|
6
|
+
|
7
|
+
* Bump dependency_injection-ruby to [v0.4.2](https://github.com/kdisneur/dependency_injection-ruby/blob/develop/CHANGELOG.md#042-2014-03-16)
|
8
|
+
|
9
|
+
# v0.1.0 (2014-02-24)
|
10
|
+
|
11
|
+
* Add a sinatra helper "container" to access to the service container
|
data/Gemfile.lock
CHANGED
@@ -1,25 +1,25 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
dependency_injection-sinatra (0.1.
|
5
|
-
dependency_injection (~> 0.4.
|
4
|
+
dependency_injection-sinatra (0.1.2)
|
5
|
+
dependency_injection (~> 0.4.2)
|
6
6
|
sinatra
|
7
7
|
|
8
8
|
GEM
|
9
9
|
remote: https://rubygems.org/
|
10
10
|
specs:
|
11
|
-
activesupport (4.0.
|
12
|
-
i18n (~> 0.6, >= 0.6.
|
11
|
+
activesupport (4.0.4)
|
12
|
+
i18n (~> 0.6, >= 0.6.9)
|
13
13
|
minitest (~> 4.2)
|
14
14
|
multi_json (~> 1.3)
|
15
15
|
thread_safe (~> 0.1)
|
16
16
|
tzinfo (~> 0.3.37)
|
17
|
-
atomic (1.1.
|
18
|
-
dependency_injection (0.4.
|
17
|
+
atomic (1.1.16)
|
18
|
+
dependency_injection (0.4.3)
|
19
19
|
activesupport
|
20
20
|
i18n (0.6.9)
|
21
21
|
minitest (4.7.5)
|
22
|
-
multi_json (1.
|
22
|
+
multi_json (1.9.2)
|
23
23
|
rack (1.5.2)
|
24
24
|
rack-protection (1.5.2)
|
25
25
|
rack
|
@@ -27,10 +27,10 @@ GEM
|
|
27
27
|
rack (~> 1.4)
|
28
28
|
rack-protection (~> 1.4)
|
29
29
|
tilt (~> 1.3, >= 1.3.4)
|
30
|
-
thread_safe (0.1
|
31
|
-
atomic
|
30
|
+
thread_safe (0.3.1)
|
31
|
+
atomic (>= 1.1.7, < 2)
|
32
32
|
tilt (1.4.1)
|
33
|
-
tzinfo (0.3.
|
33
|
+
tzinfo (0.3.39)
|
34
34
|
|
35
35
|
PLATFORMS
|
36
36
|
ruby
|
data/README.md
ADDED
@@ -0,0 +1,75 @@
|
|
1
|
+
# Dependency Injection for Sinatra
|
2
|
+
|
3
|
+
`Sinatra::DependencyInjection` adds a helper method, called `container`, to access to your ruby
|
4
|
+
[dependency injection container](https://github.com/kdisneur/dependency_injection-ruby)
|
5
|
+
|
6
|
+
## Installation
|
7
|
+
|
8
|
+
Just add the gem to your Gemfile
|
9
|
+
|
10
|
+
```ruby
|
11
|
+
gem 'dependency_injection-sinatra'
|
12
|
+
```
|
13
|
+
|
14
|
+
Or simply install it using rubygems:
|
15
|
+
|
16
|
+
```ruby
|
17
|
+
gem install dependency_injection-sinatra
|
18
|
+
```
|
19
|
+
|
20
|
+
## Usage
|
21
|
+
|
22
|
+
### Classic Application
|
23
|
+
|
24
|
+
In a classic application simply require the helper, and start using it:
|
25
|
+
|
26
|
+
```ruby
|
27
|
+
require 'sinatra'
|
28
|
+
require 'sinatra/dependency_injection'
|
29
|
+
|
30
|
+
# define a route that uses the helper
|
31
|
+
get '/' do
|
32
|
+
json container.get('awesome_service').find_trending
|
33
|
+
end
|
34
|
+
|
35
|
+
# The rest of your classic application code goes here...
|
36
|
+
```
|
37
|
+
|
38
|
+
### Modular Application
|
39
|
+
|
40
|
+
In a modular application you need to require the helper, and then tell the
|
41
|
+
application you will use it:
|
42
|
+
|
43
|
+
```ruby
|
44
|
+
require 'sinatra/base'
|
45
|
+
require 'sinatra/dependency_injection'
|
46
|
+
|
47
|
+
class MyApp < Sinatra::Base
|
48
|
+
register Sinatra::DependencyInjection
|
49
|
+
|
50
|
+
# define a route that uses the helper
|
51
|
+
get '/' do
|
52
|
+
json container.get('awesome_service').find_trending
|
53
|
+
end
|
54
|
+
|
55
|
+
# The rest of your modular application code goes here...
|
56
|
+
end
|
57
|
+
```
|
58
|
+
|
59
|
+
### Configuration path
|
60
|
+
|
61
|
+
By default it will try to load `services.yml` configuration file, but if
|
62
|
+
your configuration file is stored in another place, you can easily change it:
|
63
|
+
|
64
|
+
```ruby
|
65
|
+
require 'sinatra/base'
|
66
|
+
require 'sinatra/dependency_injection'
|
67
|
+
|
68
|
+
class MyApp < Sinatra::Base
|
69
|
+
register Sinatra::DependencyInjection
|
70
|
+
|
71
|
+
dependency_injection_path 'config/services.yml'
|
72
|
+
|
73
|
+
# The rest of your module application code goes here...
|
74
|
+
end
|
75
|
+
```
|
@@ -6,7 +6,7 @@ module Sinatra
|
|
6
6
|
module DependencyInjection
|
7
7
|
module Helper
|
8
8
|
def container
|
9
|
-
@dependency_injection_container if @dependency_injection_container
|
9
|
+
return @dependency_injection_container if @dependency_injection_container
|
10
10
|
|
11
11
|
@dependency_injection_container = ::DependencyInjection::Container.new
|
12
12
|
loader = ::DependencyInjection::Loaders::Yaml.new(@dependency_injection_container)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dependency_injection-sinatra
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kevin Disneur
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-03-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sinatra
|
@@ -30,22 +30,24 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - ~>
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.4.
|
33
|
+
version: 0.4.2
|
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
|
-
version: 0.4.
|
40
|
+
version: 0.4.2
|
41
41
|
description: A Sinatra wrapper for a fully customizable Dependency injection system
|
42
42
|
email: kevin@koboyz.org
|
43
43
|
executables: []
|
44
44
|
extensions: []
|
45
45
|
extra_rdoc_files: []
|
46
46
|
files:
|
47
|
+
- CHANGELOG.md
|
47
48
|
- Gemfile
|
48
49
|
- Gemfile.lock
|
50
|
+
- README.md
|
49
51
|
- dependency_injection-sinatra.gemspec
|
50
52
|
- lib/sinatra/dependency_injection.rb
|
51
53
|
- lib/sinatra/dependency_injection/helper.rb
|