better-initialize 0.0.1
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 +7 -0
- data/.gitignore +11 -0
- data/.ruby-version +1 -0
- data/Gemfile +3 -0
- data/Gemfile.lock +26 -0
- data/README.md +35 -0
- data/better_initialize.gemspec +20 -0
- data/lib/better_initialize.rb +11 -0
- data/lib/better_initialize/version.rb +3 -0
- data/test/run.rb +9 -0
- data/test/unit/test_initialize.rb +23 -0
- metadata +118 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: d0e7cab2043051d88bd8e5e8758a543357c04977
|
4
|
+
data.tar.gz: 36d451b64b9d58218a787f00f3addb80e1d62830
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: e4deeef9a44ff61e84e687393dbec6b071311fcdee57a971cd288728f1360e9c7945368322a58d86e465147a39e89937f346e5dd727175596a1695c6e229c9e9
|
7
|
+
data.tar.gz: fe82171aa4409bd255b3ecfeaa5d0368bf21a47b189c17495e64c922a868dbfc291ccb33a2ca09a8c2168dd2afc9456bc9e81f7a5721cfde0a74ea2a6bc2cf89
|
data/.gitignore
ADDED
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.2.0
|
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
Better Initialize (0.0.1)
|
5
|
+
|
6
|
+
GEM
|
7
|
+
remote: http://rubygems.org/
|
8
|
+
specs:
|
9
|
+
byebug (3.5.1)
|
10
|
+
columnize (~> 0.8)
|
11
|
+
debugger-linecache (~> 1.2)
|
12
|
+
slop (~> 3.6)
|
13
|
+
columnize (0.9.0)
|
14
|
+
debugger-linecache (1.2.0)
|
15
|
+
power_assert (0.2.3)
|
16
|
+
slop (3.6.0)
|
17
|
+
test-unit (3.0.9)
|
18
|
+
power_assert
|
19
|
+
|
20
|
+
PLATFORMS
|
21
|
+
ruby
|
22
|
+
|
23
|
+
DEPENDENCIES
|
24
|
+
Better Initialize!
|
25
|
+
byebug
|
26
|
+
test-unit
|
data/README.md
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
# better-initialize
|
2
|
+
|
3
|
+
A friendlier, dependency-free initialize method for ruby objects.
|
4
|
+
|
5
|
+
## Usage
|
6
|
+
|
7
|
+
Gemfile:
|
8
|
+
|
9
|
+
gem 'better-initialize',
|
10
|
+
github: 'huned/better-initialize'
|
11
|
+
|
12
|
+
Code:
|
13
|
+
|
14
|
+
require 'better_initialize'
|
15
|
+
|
16
|
+
class Pizza
|
17
|
+
include BetterInitialize
|
18
|
+
attr_accessor :size, :toppings
|
19
|
+
end
|
20
|
+
|
21
|
+
# Instantiate with attributes.
|
22
|
+
Pizza.new(size: :large, toppings: %i[mushrooms peppers])
|
23
|
+
|
24
|
+
# Instantiate with attributes and a block.
|
25
|
+
Pizza.new(size: :large) do |pizza|
|
26
|
+
pizza.toppings = %w[mushrooms peppers]
|
27
|
+
Oven.bake!(pizza)
|
28
|
+
end
|
29
|
+
|
30
|
+
## Development Environment (OSX)
|
31
|
+
|
32
|
+
brew install rbenv ruby-build
|
33
|
+
git clone git@github.com:huned/better-initialize
|
34
|
+
rbenv install -k `cat .ruby-version`
|
35
|
+
bundle exec ruby test/run.rb
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require File.expand_path('../lib/better_initialize/version', __FILE__)
|
2
|
+
|
3
|
+
Gem::Specification.new do |s|
|
4
|
+
s.name = 'better-initialize'
|
5
|
+
s.version = BetterInitialize::VERSION
|
6
|
+
s.summary = 'A better ruby initialize.'
|
7
|
+
s.description = File.read('./README.md')
|
8
|
+
s.authors = ['Huned Botee']
|
9
|
+
s.email = 'huned@734m.com'
|
10
|
+
s.homepage = 'https://github.com/huned/better-initialize'
|
11
|
+
s.license = 'MIT'
|
12
|
+
|
13
|
+
s.files = `git ls-files`.split($\)
|
14
|
+
s.executables = s.files.grep(%r{^bin/}).map{|f| File.basename(f) }
|
15
|
+
s.test_files = s.files.grep(%r{^(test|spec|features)/})
|
16
|
+
s.require_paths = ['lib']
|
17
|
+
|
18
|
+
s.add_development_dependency 'test-unit'
|
19
|
+
s.add_development_dependency 'byebug'
|
20
|
+
end
|
data/test/run.rb
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'better_initialize'
|
2
|
+
|
3
|
+
class TestBetterInitialize < Test::Unit::TestCase
|
4
|
+
class Something
|
5
|
+
include BetterInitialize
|
6
|
+
attr_accessor :a, :b
|
7
|
+
end
|
8
|
+
|
9
|
+
def test_with_attributes
|
10
|
+
@obj = Something.new(a: 1, b: 2)
|
11
|
+
assert_equal(1, @obj.a)
|
12
|
+
assert_equal(2, @obj.b)
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_with_block
|
16
|
+
@obj = Something.new do |obj|
|
17
|
+
obj.a = 1
|
18
|
+
obj.b = 2
|
19
|
+
end
|
20
|
+
assert_equal(1, @obj.a)
|
21
|
+
assert_equal(2, @obj.b)
|
22
|
+
end
|
23
|
+
end
|
metadata
ADDED
@@ -0,0 +1,118 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: better-initialize
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Huned Botee
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-03-08 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: test-unit
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: byebug
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
description: |
|
42
|
+
# better-initialize
|
43
|
+
|
44
|
+
A friendlier, dependency-free initialize method for ruby objects.
|
45
|
+
|
46
|
+
## Usage
|
47
|
+
|
48
|
+
Gemfile:
|
49
|
+
|
50
|
+
gem 'better-initialize',
|
51
|
+
github: 'huned/better-initialize'
|
52
|
+
|
53
|
+
Code:
|
54
|
+
|
55
|
+
require 'better_initialize'
|
56
|
+
|
57
|
+
class Pizza
|
58
|
+
include BetterInitialize
|
59
|
+
attr_accessor :size, :toppings
|
60
|
+
end
|
61
|
+
|
62
|
+
# Instantiate with attributes.
|
63
|
+
Pizza.new(size: :large, toppings: %i[mushrooms peppers])
|
64
|
+
|
65
|
+
# Instantiate with attributes and a block.
|
66
|
+
Pizza.new(size: :large) do |pizza|
|
67
|
+
pizza.toppings = %w[mushrooms peppers]
|
68
|
+
Oven.bake!(pizza)
|
69
|
+
end
|
70
|
+
|
71
|
+
## Development Environment (OSX)
|
72
|
+
|
73
|
+
brew install rbenv ruby-build
|
74
|
+
git clone git@github.com:huned/better-initialize
|
75
|
+
rbenv install -k `cat .ruby-version`
|
76
|
+
bundle exec ruby test/run.rb
|
77
|
+
email: huned@734m.com
|
78
|
+
executables: []
|
79
|
+
extensions: []
|
80
|
+
extra_rdoc_files: []
|
81
|
+
files:
|
82
|
+
- ".gitignore"
|
83
|
+
- ".ruby-version"
|
84
|
+
- Gemfile
|
85
|
+
- Gemfile.lock
|
86
|
+
- README.md
|
87
|
+
- better_initialize.gemspec
|
88
|
+
- lib/better_initialize.rb
|
89
|
+
- lib/better_initialize/version.rb
|
90
|
+
- test/run.rb
|
91
|
+
- test/unit/test_initialize.rb
|
92
|
+
homepage: https://github.com/huned/better-initialize
|
93
|
+
licenses:
|
94
|
+
- MIT
|
95
|
+
metadata: {}
|
96
|
+
post_install_message:
|
97
|
+
rdoc_options: []
|
98
|
+
require_paths:
|
99
|
+
- lib
|
100
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
101
|
+
requirements:
|
102
|
+
- - ">="
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: '0'
|
105
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
106
|
+
requirements:
|
107
|
+
- - ">="
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
110
|
+
requirements: []
|
111
|
+
rubyforge_project:
|
112
|
+
rubygems_version: 2.4.5
|
113
|
+
signing_key:
|
114
|
+
specification_version: 4
|
115
|
+
summary: A better ruby initialize.
|
116
|
+
test_files:
|
117
|
+
- test/run.rb
|
118
|
+
- test/unit/test_initialize.rb
|