attr_defaultable 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8bd280ebe82da7f21b9542ce3da7ff26b71063f4
4
- data.tar.gz: d54b8c9fdcea1fb30e707c92d0b2b630316305b9
3
+ metadata.gz: ff37f551cddbe51c450c7d5097a2c243d10e01de
4
+ data.tar.gz: cfba85ed78f6acbda0c144883b8f698bbf129d28
5
5
  SHA512:
6
- metadata.gz: 3de3817b42411f25c54f81a46a2d6c7fdc2c9e08cf11f8002a2f4d2d04b3f185a09a3ab772fac22f21d415fa9a62c3cb4d479f8f89fbd2fac39a3f9319c74423
7
- data.tar.gz: 18649e27262055059a791c083b448ac5eb80ad79d05e153ce9b3df947604a4d63159c49770c93d736eede9f36f34607489e2f1467d0e31cfd1020f5de3fd2b5a
6
+ metadata.gz: be4f222217699198cef48a510c2630f0042392e3f31d3277a27b1ef2e0d8ec8c6c5dad41872b10d245c9f2f405be3e7f8cf8b8900343a0980203778cd29a6e50
7
+ data.tar.gz: 8ebff3673df74a1e633eacc8db5b9ea03985fa29dfb30a1f815542f7df762ac7918079d8b2e97ac2e427b5765505a20d4a98ff73da1624db21692a6e008e6ecc
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # AttrDefaultable
2
2
 
3
- TODO: Write a gem description
3
+ Easily add attributes with default values to your classes.
4
4
 
5
5
  ## Installation
6
6
 
@@ -8,6 +8,10 @@ Add this line to your application's Gemfile:
8
8
 
9
9
  gem 'attr_defaultable'
10
10
 
11
+ To optionally slip attr_defaultable into Module so it is available without extending:
12
+
13
+ gem 'attr_defaultable', require: 'extend_attr_defaultable'
14
+
11
15
  And then execute:
12
16
 
13
17
  $ bundle
@@ -18,11 +22,34 @@ Or install it yourself as:
18
22
 
19
23
  ## Usage
20
24
 
21
- TODO: Write usage instructions here
25
+ ```ruby
26
+ class Example
27
+ extend AttrDefaultable
28
+ attr_defaultable :foo, -> { 'bar' }
29
+ end
30
+ ```
31
+
32
+ This will create a getter/setter pair for your variable `foo`. If the setter is not used before the getter
33
+ the proc given will be called and it's result used to set the value of `foo`.
34
+
35
+ Very useful for creating dependency definitions with protected default values that are evaluated just in time.
36
+
37
+ ## Alternate Usage
38
+
39
+ By using the alternate gem declaration in your Gemfile or manually
40
+ requiring `extend_attr_defaultable` early in your application, you can avoid the explicit `extend`
41
+ in your class.
42
+
43
+ ```ruby
44
+ class Example
45
+ attr_defaultable :foo, -> { 'bar' }
46
+ end
47
+ ```
48
+
22
49
 
23
50
  ## Contributing
24
51
 
25
- 1. Fork it ( http://github.com/<my-github-username>/attr_defaultable/fork )
52
+ 1. Fork it ( http://github.com/Originate/attr_defaultable/fork )
26
53
  2. Create your feature branch (`git checkout -b my-new-feature`)
27
54
  3. Commit your changes (`git commit -am 'Add some feature'`)
28
55
  4. Push to the branch (`git push origin my-new-feature`)
data/Rakefile CHANGED
@@ -4,3 +4,19 @@ require "rspec/core/rake_task"
4
4
  RSpec::Core::RakeTask.new(:spec)
5
5
 
6
6
  task :default => :spec
7
+
8
+ task :extended_console do
9
+ require 'irb'
10
+ require 'irb/completion'
11
+ require 'extend_attr_defaultable'
12
+ ARGV.clear
13
+ IRB.start
14
+ end
15
+
16
+ task :console do
17
+ require 'irb'
18
+ require 'irb/completion'
19
+ require 'attr_defaultable'
20
+ ARGV.clear
21
+ IRB.start
22
+ end
@@ -1,3 +1,3 @@
1
1
  module AttrDefaultable
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -0,0 +1,4 @@
1
+ require "attr_defaultable"
2
+ class Module
3
+ include AttrDefaultable
4
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: attr_defaultable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - alexpeachey
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-12 00:00:00.000000000 Z
11
+ date: 2014-03-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -69,6 +69,7 @@ files:
69
69
  - attr_defaultable.gemspec
70
70
  - lib/attr_defaultable.rb
71
71
  - lib/attr_defaultable/version.rb
72
+ - lib/extend_attr_defaultable.rb
72
73
  - spec/attr_defaultable_spec.rb
73
74
  - spec/spec_helper.rb
74
75
  homepage: https://github.com/Originate/attr_defaultable
@@ -91,7 +92,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
91
92
  version: '0'
92
93
  requirements: []
93
94
  rubyforge_project:
94
- rubygems_version: 2.2.1
95
+ rubygems_version: 2.2.2
95
96
  signing_key:
96
97
  specification_version: 4
97
98
  summary: An additional attr macro for default values.