attr_defaultable 0.0.1 → 0.0.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 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.