lazy_ant 0.5.0 → 0.6.0

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: 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