tamiyo 0.3.1 → 0.3.2
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 +4 -4
- data/lib/tamiyo.rb +33 -7
- data/lib/tamiyo/cockatrice_db_sink.rb +4 -3
- data/lib/tamiyo/sets.rb +30 -6
- data/lib/tamiyo/version.rb +1 -1
- data/lib/tamiyo/yaml/yaml_sink.rb +2 -2
- data/lib/tamiyo/yaml/yaml_source.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 618214b3281617aedac786d889e18a10eb7bbc5f
|
4
|
+
data.tar.gz: 654aba2dd4153e722dbbd8362d030bb6b0547588
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1c8222f4990cd353191dec4f803d7cabaf33f19f31e5686b2e9b0d8e2b10c580a47711526163f62f7b005075e72ac99e7f1950cf31e664ee5f1dfd75cd185076
|
7
|
+
data.tar.gz: 030b363179e31dd897532f5cb6cd02c4f811e1b169c13d30a8cb1eb453f7c40e536f7e9debb90a14539a92b739a28aa23eea509f8f0f647ab5cba603d2abdfb3
|
data/lib/tamiyo.rb
CHANGED
@@ -1,7 +1,15 @@
|
|
1
1
|
require 'slop'
|
2
2
|
|
3
|
+
gem_name = File.basename __FILE__, '.rb'
|
4
|
+
|
5
|
+
def assuming_at_least(nr, args, opts)
|
6
|
+
valid = args.size >= nr
|
7
|
+
yield if valid && block_given?
|
8
|
+
puts opts unless valid
|
9
|
+
end
|
10
|
+
|
3
11
|
opts = Slop.new help: true do
|
4
|
-
banner "Usage: #{
|
12
|
+
banner "Usage: #{gem_name} [command]"
|
5
13
|
|
6
14
|
command 'dummy-scrape' do
|
7
15
|
run do |opts, args|
|
@@ -12,8 +20,9 @@ opts = Slop.new help: true do
|
|
12
20
|
|
13
21
|
command 'gatherer-scrape' do
|
14
22
|
run do |opts, args|
|
23
|
+
set = args.first || "Innistrad"
|
15
24
|
require 'tamiyo/gatherer_scrape_chain'
|
16
|
-
Tamiyo::GathererScrapeChain.create(
|
25
|
+
Tamiyo::GathererScrapeChain.create(set).pump
|
17
26
|
end
|
18
27
|
end
|
19
28
|
|
@@ -25,12 +34,29 @@ opts = Slop.new help: true do
|
|
25
34
|
end
|
26
35
|
|
27
36
|
command 'add-set' do
|
37
|
+
banner "Usage: #{gem_name} add-set [abbr] [set name]"
|
38
|
+
run do |opts, args|
|
39
|
+
assuming_at_least(2, args, opts) do
|
40
|
+
abbr = args.shift.upcase
|
41
|
+
name = args.join(' ')
|
42
|
+
puts "Adding set #{abbr} => #{name}"
|
43
|
+
require 'tamiyo/sets'
|
44
|
+
Tamiyo::Sets.add_custom_set abbr, name
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
command 'remove-set' do
|
50
|
+
banner "Usage: #{gem_name} remove-set [ [abbr] | --name [set name] ]"
|
51
|
+
on :n, :name, 'Remove set by full name instead of abbrevation'
|
52
|
+
|
28
53
|
run do |opts, args|
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
54
|
+
assuming_at_least(1, args, opts) do
|
55
|
+
name = opts.name? ? args.join(' ') : args.shift.upcase
|
56
|
+
puts "Removing set #{name}"
|
57
|
+
require 'tamiyo/sets'
|
58
|
+
Tamiyo::Sets.remove_custom_set name
|
59
|
+
end
|
34
60
|
end
|
35
61
|
end
|
36
62
|
end
|
@@ -1,11 +1,11 @@
|
|
1
1
|
require 'nokogiri'
|
2
2
|
require 'tamiyo/process'
|
3
3
|
require 'tamiyo/data_store'
|
4
|
+
require 'tamiyo/default_data'
|
4
5
|
|
5
6
|
module Tamiyo
|
6
7
|
class CockatriceDbSink
|
7
8
|
include Process::Node
|
8
|
-
include DataStore
|
9
9
|
|
10
10
|
def pump
|
11
11
|
content = Nokogiri::XML::Builder.new(encoding: 'UTF-8') do |xml|
|
@@ -19,7 +19,7 @@ module Tamiyo
|
|
19
19
|
|
20
20
|
def add_sets_to(xml)
|
21
21
|
xml.sets {
|
22
|
-
|
22
|
+
DefaultData.sets['sets'].each do |abbr, name|
|
23
23
|
xml.set {
|
24
24
|
xml.name abbr
|
25
25
|
xml.longname name
|
@@ -48,7 +48,8 @@ module Tamiyo
|
|
48
48
|
end
|
49
49
|
|
50
50
|
def store_xml(content)
|
51
|
-
|
51
|
+
data_store = DataStore.new
|
52
|
+
path = data_store.path_for 'cards.xml'
|
52
53
|
File.open(path, 'w') do |file|
|
53
54
|
file.write content.to_xml
|
54
55
|
end
|
data/lib/tamiyo/sets.rb
CHANGED
@@ -3,12 +3,36 @@ require 'tamiyo/yaml/yaml_helper'
|
|
3
3
|
|
4
4
|
module Tamiyo
|
5
5
|
class Sets
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
6
|
+
class << self
|
7
|
+
def add_custom_set(abbr, name)
|
8
|
+
@store ||= DataStore.new
|
9
|
+
data = @store.load_custom_sets
|
10
|
+
data['sets'] ||= {}
|
11
|
+
data['sets'].store abbr, name
|
12
|
+
@store.persist_custom_sets data
|
13
|
+
end
|
14
|
+
|
15
|
+
def remove_custom_set(name)
|
16
|
+
@store ||= DataStore.new
|
17
|
+
data = @store.load_custom_sets
|
18
|
+
modify_sets! data do |sets|
|
19
|
+
prune_set! sets, name
|
20
|
+
end
|
21
|
+
@store.persist_custom_sets data
|
22
|
+
end
|
23
|
+
|
24
|
+
def modify_sets!(data)
|
25
|
+
if block_given? && data.include?('sets')
|
26
|
+
yield data['sets']
|
27
|
+
data.delete 'sets' if data['sets'].empty?
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def prune_set!(sets, name)
|
32
|
+
abbr = name.upcase
|
33
|
+
sets.delete(abbr) or
|
34
|
+
sets.delete_if { |_, value| value == name }
|
35
|
+
end
|
12
36
|
end
|
13
37
|
end
|
14
38
|
end
|
data/lib/tamiyo/version.rb
CHANGED
@@ -6,7 +6,6 @@ module Tamiyo
|
|
6
6
|
module Yaml
|
7
7
|
class YamlSink
|
8
8
|
include Process::Node
|
9
|
-
include DataStore
|
10
9
|
include YamlHelper
|
11
10
|
|
12
11
|
def pump
|
@@ -30,7 +29,8 @@ module Tamiyo
|
|
30
29
|
end
|
31
30
|
|
32
31
|
def with_the_cards_file(&block)
|
33
|
-
|
32
|
+
store = DataStore.new
|
33
|
+
file_name = store.path_for 'cards.yaml'
|
34
34
|
if block_given?
|
35
35
|
File.open(file_name, 'w') do |file|
|
36
36
|
within_a_yaml_document_of file, &block
|
@@ -8,7 +8,6 @@ module Tamiyo
|
|
8
8
|
class YamlSource
|
9
9
|
include Process::Node
|
10
10
|
include YamlHelper
|
11
|
-
include DataStore
|
12
11
|
|
13
12
|
def pull
|
14
13
|
using_object [] do |cards|
|
@@ -52,7 +51,8 @@ module Tamiyo
|
|
52
51
|
end
|
53
52
|
|
54
53
|
def with_the_cards_file
|
55
|
-
|
54
|
+
data_store = DataStore.new
|
55
|
+
path = data_store.path_for 'cards.yaml'
|
56
56
|
if block_given?
|
57
57
|
File.open(path, 'r') do |file|
|
58
58
|
yield yaml_event_stream_for file
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tamiyo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Roger Norling
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-01-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|