spank 1.0.1441140881 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- NDJhYzM2NDQxNmM4ZDA5ZTNhNjc5N2RlMWQ5ZjdhZDAxYjc1NTY0Mw==
5
- data.tar.gz: !binary |-
6
- NWEyZWQ3ODBjZTFjYjdiZDgzYzU3NWM5ODI2ZTg2MmJlNDlhYzJlMw==
2
+ SHA256:
3
+ metadata.gz: 635822bbae8233e35ee98b8031e4c80eeccc88831d786adf3eb74eb2eada8c85
4
+ data.tar.gz: 990d61401990afd0a4a32319430f9cf7d8d2a35b310b5deae89cf43171f40701
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- ZTVjZWE4OWY2ZDgwYzNkYTBhZGYxMTNjYTE1YTc0NGRjYWIzOTMwMzRkMWFj
10
- YzZlODkyMzJmMDE3YjBmMWQ4ZGZmODU1Yjg5MGZkMTFlNTY0OTMyZDcxZTQ4
11
- MjdkNWZkNWFjNmJjZTQ4ZmZmZTY1ZDBkM2Q1NTYwNDUxMDI4YzI=
12
- data.tar.gz: !binary |-
13
- NWViZDBiZmY3NmM3YzlmYmQwYzUxYzA2MjBkYjA0YTE2ZjRlNTk4NjY4ZTcx
14
- MDc1ZmVhOTgyYmMxNmFkNmVhZTg5NWUyZGQ5OTYwZTdkMDA2MDViZDViODAx
15
- MDQ1NjU4YjE4ZTk5NmM3MDZiM2YwNmZkZmVmY2Q4MTY1ZGI1YjY=
6
+ metadata.gz: 00d5866c815c75ba89953455276e3a384bdf9bc88d4bbaac8a4bfdac8472f160965a74188bd7c19acd71a8447157dd7c97283cc540910e6715a29e70fae5858c
7
+ data.tar.gz: 51b3d6d0b96bffa2972c5cca9c2c85c435782cb9e248f8222c005aae42cca974079fef0e948f968c5205b0f4174579fa4c14c9788db8a33a63aaef29ed3fe00e
@@ -0,0 +1,9 @@
1
+ ---
2
+ version: 2
3
+ updates:
4
+ - package-ecosystem: "bundler"
5
+ directory: "/"
6
+ schedule:
7
+ interval: "daily"
8
+ assignees:
9
+ - "xlgmokha"
@@ -0,0 +1,21 @@
1
+ name: ci
2
+ on:
3
+ push:
4
+ branches: [main]
5
+ pull_request:
6
+ branches: [main]
7
+ jobs:
8
+ test:
9
+ runs-on: ubuntu-latest
10
+ strategy:
11
+ matrix:
12
+ ruby-version: ['2.5', '2.6', '2.7', '3.0']
13
+ steps:
14
+ - uses: actions/checkout@v2
15
+ - name: Set up Ruby
16
+ uses: ruby/setup-ruby@v1
17
+ with:
18
+ ruby-version: ${{ matrix.ruby-version }}
19
+ bundler-cache: true
20
+ - name: Running tests…
21
+ run: sh bin/test
data/README.md CHANGED
@@ -2,9 +2,7 @@
2
2
 
3
3
  A simple light weight inversion of control container written in ruby.
4
4
 
5
- [![Build Status](https://travis-ci.org/mokhan/spank.png)](https://travis-ci.org/mokhan/spank)
6
- [![Code Climate](https://codeclimate.com/github/mokhan/spank.png)](https://codeclimate.com/github/mokhan/spank)
7
- [![Test Coverage](https://codeclimate.com/github/mokhan/spank/badges/coverage.svg)](https://codeclimate.com/github/mokhan/spank)
5
+ [![Build Status](https://github.com/xlgmokha/spank/workflows/ci/badge.svg)](https://github.com/xlgmokha/spank/actions)
8
6
  [![Gem Version](https://badge.fury.io/rb/spank.svg)](http://badge.fury.io/rb/spank)
9
7
 
10
8
  ## Installation
@@ -26,83 +24,72 @@ Or install it yourself as:
26
24
  Register a single component and resolve it.
27
25
 
28
26
  ```ruby
29
-
30
- container = Spank::Container.new
31
- container.register(:item) do |container|
32
- "ITEM"
33
- end
34
- item = container.resolve(:item)
35
-
27
+ container = Spank::Container.new
28
+ container.register(:item) do |container|
29
+ "ITEM"
30
+ end
31
+ item = container.resolve(:item)
36
32
  ```
37
33
 
38
34
  Register multiple items, and resolve them.
39
35
 
40
36
  ```ruby
41
-
42
- container = Spank::Container.new
43
- container.register(:pants) { jeans }
44
- container.register(:pants) { dress_pants }
45
- pants = container.resolve_all(:pants)
46
-
37
+ container = Spank::Container.new
38
+ container.register(:pants) { jeans }
39
+ container.register(:pants) { dress_pants }
40
+ pants = container.resolve_all(:pants)
47
41
  ```
48
42
 
49
43
  Register a singleton.
50
44
 
51
45
  ```ruby
52
-
53
- container = Spank::Container.new
54
- container.register(:singleton) { fake }.as_singleton
55
- single_instance = container.resolve(:singleton)
56
- same_instance = container.resolve(:singleton)
57
-
46
+ container = Spank::Container.new
47
+ container.register(:singleton) { fake }.as_singleton
48
+ single_instance = container.resolve(:singleton)
49
+ same_instance = container.resolve(:singleton)
58
50
  ```
59
51
 
60
52
  Automatic dependency resolution.
61
53
 
62
54
  ```ruby
63
-
64
- class Child
65
- def initialize(mom,dad)
66
- end
55
+ class Child
56
+ def initialize(mom,dad)
67
57
  end
68
-
69
- container = Spank::Container.new
70
- container.register(:mom) { mom }
71
- container.register(:dad) { dad }
72
- child = sut.build(Child)
73
-
58
+ end
59
+
60
+ container = Spank::Container.new
61
+ container.register(:mom) { mom }
62
+ container.register(:dad) { dad }
63
+ child = sut.build(Child)
74
64
  ```
75
65
 
76
66
  Register selective interceptors.
77
67
 
78
68
  ```ruby
79
-
80
- class Interceptor
81
- def intercept(invocation)
82
- invocation.proceed
83
- end
69
+ class Interceptor
70
+ def intercept(invocation)
71
+ invocation.proceed
84
72
  end
85
-
86
- class Command
87
- def run(input)
88
- end
73
+ end
74
+
75
+ class Command
76
+ def run(input)
89
77
  end
90
-
91
- container = Spank::Container.new
92
- container.register(:command) { Command.new }.intercept(:run).with(Interceptor.new)
93
- proxy = container.resolve(:command)
94
- proxy.run("hi")
95
-
78
+ end
79
+
80
+ container = Spank::Container.new
81
+ container
82
+ .register(:command) { Command.new }
83
+ .intercept(:run)
84
+ .with(Interceptor.new)
85
+ proxy = container.resolve(:command)
86
+ proxy.run("hi")
96
87
  ```
97
88
 
98
- [Static gateway](http://codebetter.com/jpboodhoo/2007/10/15/the-static-gateway-pattern/) to connect to the container.
99
-
100
89
  ```ruby
101
-
102
- container = Spank::Container.new
103
- Spank::IOC.bind_to(container)
104
- item = Spank::IOC.resolve(:item)
105
-
90
+ container = Spank::Container.new
91
+ Spank::IOC.bind_to(container)
92
+ item = Spank::IOC.resolve(:item)
106
93
  ```
107
94
 
108
95
  Enjoy!
data/bin/console ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require 'bundler/setup'
5
+ require 'spank'
6
+
7
+ require 'irb'
8
+ IRB.start(__FILE__)
data/bin/setup ADDED
@@ -0,0 +1,8 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+ [ -z "$DEBUG" ] || set -x
5
+
6
+ cd "$(dirname "$0")/.."
7
+
8
+ bundle install
data/bin/test ADDED
@@ -0,0 +1,8 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+ [ -z "$DEBUG" ] || set -x
5
+
6
+ cd "$(dirname "$0")/.."
7
+
8
+ bundle exec rspec "$@"
data/lib/spank/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Spank
2
- VERSION = "1.0.#{Time.now.utc.to_i}"
2
+ VERSION = "1.1.0"
3
3
  end
data/spank.gemspec CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
10
10
  spec.email = ["mo@mokhan.ca"]
11
11
  spec.description = %q{A lightweight ruby inversion of control (IOC) container}
12
12
  spec.summary = %q{spank!}
13
- spec.homepage = "https://github.com/mokhan/spank"
13
+ spec.homepage = "https://github.com/xlgmokha/spank"
14
14
  spec.license = "MIT"
15
15
 
16
16
  spec.files = `git ls-files`.split($/)
@@ -20,8 +20,7 @@ Gem::Specification.new do |spec|
20
20
  spec.required_ruby_version = '>= 2.0.0'
21
21
 
22
22
  spec.add_development_dependency "bundler"
23
- spec.add_development_dependency "rake", '~> 10.4'
23
+ spec.add_development_dependency "rake", '~> 12.3'
24
24
  spec.add_development_dependency "rspec", '~> 3.1'
25
25
  spec.add_development_dependency "simplecov", '~> 0.9'
26
- spec.add_development_dependency "codeclimate-test-reporter"
27
26
  end
data/spec/spec_helper.rb CHANGED
@@ -1,5 +1,3 @@
1
- require "codeclimate-test-reporter"
2
- CodeClimate::TestReporter.start
3
1
  require 'spank'
4
2
 
5
3
  RSpec.configure do |config|
metadata CHANGED
@@ -1,100 +1,92 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spank
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1441140881
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - mo khan
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-01 00:00:00.000000000 Z
11
+ date: 2021-02-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
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: :development
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: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '10.4'
33
+ version: '12.3'
34
34
  type: :development
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: '10.4'
40
+ version: '12.3'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: '3.1'
48
48
  type: :development
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: '3.1'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: simplecov
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0.9'
62
62
  type: :development
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.9'
69
- - !ruby/object:Gem::Dependency
70
- name: codeclimate-test-reporter
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ! '>='
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ! '>='
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
69
  description: A lightweight ruby inversion of control (IOC) container
84
70
  email:
85
71
  - mo@mokhan.ca
86
- executables: []
72
+ executables:
73
+ - console
74
+ - setup
75
+ - test
87
76
  extensions: []
88
77
  extra_rdoc_files: []
89
78
  files:
90
- - .gitignore
91
- - .hound.yml
92
- - .rspec
93
- - .travis.yml
79
+ - ".github/dependabot.yml"
80
+ - ".github/workflows/ci.yml"
81
+ - ".gitignore"
82
+ - ".rspec"
94
83
  - Gemfile
95
84
  - LICENSE.txt
96
85
  - README.md
97
86
  - Rakefile
87
+ - bin/console
88
+ - bin/setup
89
+ - bin/test
98
90
  - lib/spank.rb
99
91
  - lib/spank/component.rb
100
92
  - lib/spank/container.rb
@@ -111,28 +103,27 @@ files:
111
103
  - spec/unit/container_spec.rb
112
104
  - spec/unit/ioc_spec.rb
113
105
  - spec/unit/proxy_spec.rb
114
- homepage: https://github.com/mokhan/spank
106
+ homepage: https://github.com/xlgmokha/spank
115
107
  licenses:
116
108
  - MIT
117
109
  metadata: {}
118
- post_install_message:
110
+ post_install_message:
119
111
  rdoc_options: []
120
112
  require_paths:
121
113
  - lib
122
114
  required_ruby_version: !ruby/object:Gem::Requirement
123
115
  requirements:
124
- - - ! '>='
116
+ - - ">="
125
117
  - !ruby/object:Gem::Version
126
118
  version: 2.0.0
127
119
  required_rubygems_version: !ruby/object:Gem::Requirement
128
120
  requirements:
129
- - - ! '>='
121
+ - - ">="
130
122
  - !ruby/object:Gem::Version
131
123
  version: '0'
132
124
  requirements: []
133
- rubyforge_project:
134
- rubygems_version: 2.4.5
135
- signing_key:
125
+ rubygems_version: 3.2.3
126
+ signing_key:
136
127
  specification_version: 4
137
128
  summary: spank!
138
129
  test_files:
data/.hound.yml DELETED
@@ -1,2 +0,0 @@
1
- ruby:
2
- enabled: true
data/.travis.yml DELETED
@@ -1,19 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.0.0
4
- - 2.2.0
5
- - 2.2.3
6
- - jruby-9.0.0.0
7
- sudo: false
8
- deploy:
9
- provider: rubygems
10
- api_key:
11
- secure: iVIcz0B2sp3Tj2bGEA0CTxSoLWDAjw+L94g6h9GKntfUKasnayn8BYOEXObIdcl2o0LQe3d68UXmnBbXSi7eFW6yyBhsRn0op3rTxkxh0Lez6jEZagcGIgtCwmmf+ppthYSXi+s0kwhW3kAM797ULpV6aagHBs93PuNh1XIbQs0=
12
- gem: spank
13
- on:
14
- tags: true
15
- repo: mokhan/spank
16
- addons:
17
- code_climate:
18
- repo_token:
19
- secure: O2jjrW6zXvSggDBsdASZzc4QT2s2n94IobQn8zAka4X1ZrTu+G4Cgt8cRWMw3W5/qNApUjlfTEO29gNMHURzHMlt4RLiahGIrziReDjYeF3OLbrZbs8AksUiMyLgfMb1vr4VGBVrR7OjOVk0T5VwnDA26LzEYG9PscdGnxn24TI=