sanderjd-bitch 0.1.0 → 0.1.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.
- data/lib/bitch.rb +11 -0
- data/lib/bits.rb +2 -1
- metadata +2 -2
data/lib/bitch.rb
CHANGED
@@ -5,12 +5,14 @@ class Bitch
|
|
5
5
|
# Class methods
|
6
6
|
|
7
7
|
def self.template(name, &block)
|
8
|
+
name = symbol_if_string(name)
|
8
9
|
templates[name] = self.new
|
9
10
|
yield templates[name]
|
10
11
|
nil
|
11
12
|
end
|
12
13
|
|
13
14
|
def self.create(name, params = {})
|
15
|
+
name = symbol_if_string(name)
|
14
16
|
params.each_pair { |k,v| templates[name][k] = v }
|
15
17
|
templates[name]
|
16
18
|
end
|
@@ -29,15 +31,18 @@ class Bitch
|
|
29
31
|
def oct_string; get_bits.oct_string end
|
30
32
|
|
31
33
|
def add(name, object)
|
34
|
+
name = symbol_if_string(name)
|
32
35
|
fields << { name => object.get_bits }
|
33
36
|
end
|
34
37
|
|
35
38
|
def bring(name, params = {})
|
39
|
+
name = symbol_if_string(name)
|
36
40
|
object = Bitch.create(name, params)
|
37
41
|
fields << { name => object.get_bits }
|
38
42
|
end
|
39
43
|
|
40
44
|
def bits(name, params = {})
|
45
|
+
name = symbol_if_string(name)
|
41
46
|
value = params.key?(:value) ? params[:value] : 0
|
42
47
|
length = params.key?(:length) ? params[:length] : 0
|
43
48
|
fields << { name => Bits.new(value, length) }
|
@@ -51,10 +56,12 @@ class Bitch
|
|
51
56
|
end
|
52
57
|
|
53
58
|
def [](name)
|
59
|
+
name = symbol_if_string(name)
|
54
60
|
fields.select { |field| field.key?(name) }.first.values.first
|
55
61
|
end
|
56
62
|
|
57
63
|
def []=(name, value)
|
64
|
+
name = symbol_if_string(name)
|
58
65
|
element_array = fields.select { |field| field.key?(name) }
|
59
66
|
element = element_array.first.values.first unless element_array.empty?
|
60
67
|
element.set(value) unless element.nil?
|
@@ -62,6 +69,10 @@ class Bitch
|
|
62
69
|
|
63
70
|
private
|
64
71
|
|
72
|
+
def symbol_if_string(name)
|
73
|
+
name.to_sym if name.kind_of? String
|
74
|
+
end
|
75
|
+
|
65
76
|
def fields
|
66
77
|
@fields ||= Array.new
|
67
78
|
end
|
data/lib/bits.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sanderjd-bitch
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Sanders
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-01-
|
12
|
+
date: 2009-01-20 00:00:00 -08:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|