chainy 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +7 -0
  2. data/lib/chainy/module.rb +26 -0
  3. data/lib/chainy.rb +1 -0
  4. metadata +45 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 58d88a8676a6589412f1dd0b3a43863cbd5c61b7
4
+ data.tar.gz: 41ed3e9e09b215d189055fa098a497e0c9446376
5
+ SHA512:
6
+ metadata.gz: f27ea0f7d936bb47eaf8aadffef1dfbf6672abb83687dd40156ef98c44a0545d99d58150c45bba386e64464f213cf4d7b30316da646d10c0fa5b864e20dd5786
7
+ data.tar.gz: 04a15749757c2301766f2c3334d619b414732a08ff598a2a3bf7fb7d88d780bbf6a52d53805751bd484a958ca402209c45e10fbd1e3722c176afaa89f5718132
@@ -0,0 +1,26 @@
1
+ class Module
2
+ def chain_attr_accessor(symbol, *args)
3
+ if args.last.is_a?(Hash)
4
+ opts = args.pop
5
+ else
6
+ opts = {}
7
+ end
8
+
9
+ attr_accessor(symbol, *args)
10
+
11
+ prefix = opts[:prefix] || 'with'
12
+
13
+ [].tap do |method_names|
14
+ method_names << symbol
15
+ method_names.concat args
16
+ end.each do |method_name|
17
+ new_method_name = "#{prefix}_#{method_name}"
18
+ define_method(new_method_name) do |*args|
19
+ send "#{method_name}=", *args
20
+ self
21
+ end
22
+ end
23
+ end
24
+
25
+ private
26
+ end
data/lib/chainy.rb ADDED
@@ -0,0 +1 @@
1
+ require_relative 'chainy/module'
metadata ADDED
@@ -0,0 +1,45 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: chainy
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Kacper Walanus
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-12-12 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: chainy
14
+ email: kacper@walanus.com
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - lib/chainy.rb
20
+ - lib/chainy/module.rb
21
+ homepage: http://rubygems.org/gems/chainy
22
+ licenses:
23
+ - MIT
24
+ metadata: {}
25
+ post_install_message:
26
+ rdoc_options: []
27
+ require_paths:
28
+ - lib
29
+ required_ruby_version: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ required_rubygems_version: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - ">="
37
+ - !ruby/object:Gem::Version
38
+ version: '0'
39
+ requirements: []
40
+ rubyforge_project:
41
+ rubygems_version: 2.4.3
42
+ signing_key:
43
+ specification_version: 4
44
+ summary: chainy
45
+ test_files: []