code-ruby 1.5.7 → 1.6.1

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.
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ class Code
4
+ class Object
5
+ class Number < Object
6
+ end
7
+ end
8
+ end
@@ -2,29 +2,25 @@
2
2
 
3
3
  class Code
4
4
  class Object
5
- class Parameter < Object
6
- def initialize(*args, **_kargs, &_block)
7
- self.raw = Dictionary.new(args.first)
8
- end
9
-
5
+ class Parameter < Dictionary
10
6
  def code_name
11
- String.new(raw.code_get(:name))
7
+ String.new(code_get(:name))
12
8
  end
13
9
 
14
10
  def code_regular?
15
- Boolean.new(raw.code_get(:regular?))
11
+ Boolean.new(code_get(:regular?))
16
12
  end
17
13
 
18
14
  def code_keyword?
19
- Boolean.new(raw.code_get(:keyword?))
15
+ Boolean.new(code_get(:keyword?))
20
16
  end
21
17
 
22
18
  def code_regular_splat?
23
- Boolean.new(raw.code_get(:regular_splat?))
19
+ Boolean.new(code_get(:regular_splat?))
24
20
  end
25
21
 
26
22
  def code_keyword_splat?
27
- Boolean.new(raw.code_get(:keyword_splat?))
23
+ Boolean.new(code_get(:keyword_splat?))
28
24
  end
29
25
 
30
26
  def code_required?
@@ -36,7 +32,7 @@ class Code
36
32
  end
37
33
 
38
34
  def code_default
39
- raw.code_get(:default).to_code
35
+ code_get(:default).to_code
40
36
  end
41
37
 
42
38
  def code_evaluate(...)
@@ -11,6 +11,11 @@ class Code
11
11
  @code_right = args.first.code_right
12
12
  @code_options = args.first.code_options
13
13
  @code_exclude_end = args.first.code_exclude_end
14
+ elsif args.first.is_a?(List)
15
+ @code_left = args.first.code_first
16
+ @code_right = args.first.code_last
17
+ @code_options = Dictionary.new(args.second.presence || kargs)
18
+ @code_exclude_end = Boolean.new(code_options.code_get(:exclude_end))
14
19
  else
15
20
  @code_left =
16
21
  (args.first.to_code.nothing? ? Integer.new(0) : args.first.to_code)
@@ -55,6 +55,9 @@ class Code
55
55
  when "upcase"
56
56
  sig(args)
57
57
  code_upcase
58
+ when "size"
59
+ sig(args)
60
+ code_size
58
61
  else
59
62
  super
60
63
  end
@@ -111,6 +114,10 @@ class Code
111
114
  code_n = Integer.new(1) if code_n.nothing?
112
115
  String.new(raw.first(code_n.raw))
113
116
  end
117
+
118
+ def code_size
119
+ Integer.new(raw.size)
120
+ end
114
121
  end
115
122
  end
116
123
  end