lazy_ant 0.5.0 → 0.6.0

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: dc1b0f698c8286a77d8d2ec94e5de45f3259372c
4
- data.tar.gz: e1b0e7cf90b6d1f14baf596f12017da9d631d7f4
3
+ metadata.gz: b0ea8f40426ebf1e02991285188e7c32c19c837d
4
+ data.tar.gz: d76d94f4c674b55cd643f2fc7044a8de208def25
5
5
  SHA512:
6
- metadata.gz: 47eae520dbda96471446ad74d84fe0ae03acc4178b6e99de4da1067cb871767ec31c28d41bbb7dfc42d246c9516051d794d3670ff434f1759c924c3d40b0e490
7
- data.tar.gz: 8def470c1337cecc099870e084802730ca49b605a65a374693657f9e25551c3df795546c3ac72412550fb57c9aa929a8ff0ec22757fdad9f6981f8f6bd8aa5fe
6
+ metadata.gz: ddcc2e20fa022f62bdf416ef42156258e07be6d282662e3001d8acbd785b80fa2097cb6c43cea24d5823332863da2e9a9a5115dbb8a7f63a817bf6b78d9a9f2c
7
+ data.tar.gz: a89f62fa22b8313427a53e47105a41f27f7136e412f921cfc17034c51aba0593f70eede9e67d992d807ffc7e639d91fb47a5b96d420f5a4d5a379c18a941579c
@@ -6,28 +6,53 @@ module LazyAnt
6
6
  end
7
7
  end
8
8
 
9
- def self.key(name, options = {})
10
- writer, reader, var, question = accessor_methods(name)
11
- keys[var] = options
9
+ def deprecated(method, instead)
10
+ msg = "#{self.class.name}##{method} is deprecated"
11
+ if instead.is_a?(Symbol)
12
+ writer, = self.class.accessor_methods(instead)
13
+ msg += ", use #{self.class.name}##{writer}"
14
+ end
15
+ warn msg
16
+ end
17
+
18
+ def validate(val)
19
+ fail ArgumentError unless val == true || val == false
20
+ end
21
+
22
+ class << self
23
+ def key(name, options = {})
24
+ writer, reader, var, question = accessor_methods(name)
25
+ options[:question] = question
26
+ keys[var] = options
12
27
 
13
- define_method writer do |val|
14
- fail ArgumentError unless !question || val == false || val == true
15
- instance_variable_set(var, val)
28
+ define_writer(writer, var, options)
29
+ define_reader(reader, var, options)
16
30
  end
17
31
 
18
- define_method reader do
19
- instance_variable_get(var)
32
+ def define_writer(writer, var, options = {})
33
+ define_method writer do |val|
34
+ deprecated writer, options[:deprecated] if options[:deprecated]
35
+ validate(val) if options[:question]
36
+ instance_variable_set(var, val)
37
+ end
20
38
  end
21
- end
22
39
 
23
- def self.keys
24
- @keys ||= {}
25
- end
40
+ def define_reader(reader, var, options = {})
41
+ define_method reader do
42
+ deprecated reader, options[:deprecated] if options[:deprecated]
43
+ instance_variable_get(var)
44
+ end
45
+ end
26
46
 
27
- def self.accessor_methods(name)
28
- attr = name.to_s.gsub(/[!\?]$/, '')
29
- var = "@#{attr}".to_sym
30
- ["#{attr}=".to_sym, name.to_sym, var, name[-1] == '?']
47
+ def keys
48
+ @keys ||= {}
49
+ end
50
+
51
+ def accessor_methods(name)
52
+ attr = name.to_s.gsub(/[!\?]$/, '')
53
+ var = "@#{attr}".to_sym
54
+ ["#{attr}=".to_sym, name.to_sym, var, name[-1] == '?']
55
+ end
31
56
  end
32
57
  end
33
58
  end
@@ -12,8 +12,7 @@ module LazyAnt
12
12
  # => GET '/echo?SHIT_KEY=test'
13
13
  #
14
14
  class Endpoint
15
- extend Forwardable
16
- def_delegators :'self.class', :verb, :path, :params
15
+ class_attribute :verb, :path, :params
17
16
 
18
17
  def initialize(*args)
19
18
  @query = default_query.merge(args.extract_options!)
@@ -69,23 +68,22 @@ module LazyAnt
69
68
  end
70
69
 
71
70
  class << self
72
- attr_reader :verb, :path
73
71
  %w(get put post delete).each do |verb|
74
72
  class_eval(<<-EOS, __FILE__, __LINE__ + 1)
75
73
  def #{verb}(path)
76
- @verb = :#{verb}
77
- @path = path
74
+ self.verb = :#{verb}
75
+ self.path = path
78
76
  end
79
77
  EOS
80
78
  end
81
79
 
82
- def params
83
- @params ||= {}
84
- end
85
-
86
80
  def param(name, options = {})
87
81
  params[name] = options
88
82
  end
83
+
84
+ def inherited(child)
85
+ child.params = {}
86
+ end
89
87
  end
90
88
  end
91
89
  end
@@ -1,3 +1,3 @@
1
1
  module LazyAnt
2
- VERSION = '0.5.0'
2
+ VERSION = '0.6.0'
3
3
  end
data/lib/lazy_ant.rb CHANGED
@@ -1,4 +1,4 @@
1
- require 'active_support'
1
+ require 'active_support/all'
2
2
  require 'lazy_ant/version'
3
3
  require 'lazy_ant/dsl'
4
4
  require 'lazy_ant/config'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lazy_ant
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - masarakki
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-10-16 00:00:00.000000000 Z
11
+ date: 2015-10-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport