mtgsy 0.1.1 → 0.2.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: bc6b8e0b7879d36ff3ab5654de17ba77eb69d8c4
4
- data.tar.gz: ce784a9ed3e24a25a7f78376c61e4148ad9c101b
3
+ metadata.gz: 5e2b6c7276df220e77c3467a5fbb70471736f54a
4
+ data.tar.gz: 17d5242b062f437d12cf3a2704203eff8b4ac04e
5
5
  SHA512:
6
- metadata.gz: e09afa49dbad2e5ad2be48a5eddd42cf7db900e02595997e38b03785d82b88f432a8b68b184bb3dcd7a3be7e8806af66f1d1fd65ee4a7400e1af8af6637b8d59
7
- data.tar.gz: 0d91bb1e5c49c9413660afd95b35247937fdbde74a7667b3611e5ee081bcf4f1b7954dcfc0c10adeb842cd73658fce98010de4444458aa0787eb7c72d2e38f28
6
+ metadata.gz: f80188ee5b2bbab5a078b2ac55ea90a278e688e1793b2dc47d5ff085b8a9104ce50021f727efcc0f1dec33c69f057e71e172025c7b9df5ea00459f5d746b6788
7
+ data.tar.gz: 548935e40d4fc68cc575b9a6e0c3de31a4207a79b3740d5703dad738343917a2c62da7b01622e71f8439368a9ae27ffcfc61e72e275e200310cad5783533f8e9
@@ -94,6 +94,42 @@ module Mtgsy
94
94
  eval("@records_#{type}")
95
95
  end
96
96
 
97
+ def search(options={})
98
+ self.refresh! unless @records_ALL
99
+
100
+ name = options[:name] ? options[:name].to_s : nil
101
+ type = options[:type] ? options[:type].to_s : nil
102
+ data = options[:data] ? options[:data].to_s : nil
103
+ aux = options[:aux ] ? options[:aux].to_s : nil
104
+ ttl = options[:ttl ] ? options[:ttl].to_s : nil
105
+
106
+ unless [name, type, data, aux, ttl].find { |x| x != nil }
107
+ $stderr.puts "You must specify at least one of the following: name, type, data, aux or ttl"
108
+ return
109
+ end
110
+
111
+ search_data = [ name, type, data, aux, ttl ]
112
+
113
+ num_of_search_elements = 0
114
+ 0.upto(4) do |x|
115
+ unless search_data[x] == nil
116
+ num_of_search_elements += 1
117
+ end
118
+ end
119
+
120
+ results = @records_ALL.select do |x|
121
+ matched = 0
122
+ ( matched += 1 if x[Mtgsy::RECORD_NAME] == search_data[Mtgsy::RECORD_NAME] ) if search_data[Mtgsy::RECORD_NAME]
123
+ ( matched += 1 if x[Mtgsy::RECORD_TYPE] == search_data[Mtgsy::RECORD_TYPE] ) if search_data[Mtgsy::RECORD_TYPE]
124
+ ( matched += 1 if x[Mtgsy::RECORD_DATA] == search_data[Mtgsy::RECORD_DATA] ) if search_data[Mtgsy::RECORD_DATA]
125
+ ( matched += 1 if x[Mtgsy::RECORD_AUX] == search_data[Mtgsy::RECORD_AUX] ) if search_data[Mtgsy::RECORD_AUX]
126
+ ( matched += 1 if x[Mtgsy::RECORD_TTL] == search_data[Mtgsy::RECORD_TTL] ) if search_data[Mtgsy::RECORD_TTL]
127
+ true if matched == num_of_search_elements
128
+ end
129
+
130
+ results
131
+ end
132
+
97
133
  def record_types?
98
134
  @record_types
99
135
  end
data/lib/mtgsy/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Mtgsy
2
- VERSION = "0.1.1"
2
+ VERSION = "0.2.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mtgsy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jason Barnett