tamiyo 0.0.1 → 0.1.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 +4 -4
- data/lib/tamiyo/dummy_scrape_chain.rb +2 -2
- data/lib/tamiyo/gatherer_scrape_chain.rb +2 -2
- data/lib/tamiyo/scrape_parser.rb +3 -3
- data/lib/tamiyo/version.rb +1 -1
- data/lib/tamiyo/yaml_helper.rb +45 -0
- data/lib/tamiyo/yaml_sink.rb +70 -0
- metadata +4 -3
- data/lib/tamiyo/puts_sink.rb +0 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 527fdba4dbb9759b8be539f14206394b69aab164
|
4
|
+
data.tar.gz: ba0f4e61cbeab758110ee0e520c5f9f31308b6aa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6bee9adaeeca82b32368e8568b098b7dead21b02750c37a7a25833b2d358c45060146e6efd9682fb2ae6c195975b67666ca190eff97c59d9ba65588d4fe206e2
|
7
|
+
data.tar.gz: 864902830e5d896d3f630ed1601f4d6876f1c0b439f729b1e6b868c1f5daf8a915b24e8d20aa84e8dc3b06561089284eb049332ef023fac532e70f2187560bd5
|
@@ -1,11 +1,11 @@
|
|
1
1
|
require_relative 'dummy_scrape'
|
2
2
|
require_relative 'scrape_parser'
|
3
|
-
require_relative '
|
3
|
+
require_relative 'yaml_sink'
|
4
4
|
|
5
5
|
module Tamiyo
|
6
6
|
class DummyScrapeChain
|
7
7
|
def self.create
|
8
|
-
Process.chain DummyScrape.new, ScrapeParser.new,
|
8
|
+
Process.chain DummyScrape.new, ScrapeParser.new, YamlSink.new
|
9
9
|
end
|
10
10
|
end
|
11
11
|
end
|
@@ -1,11 +1,11 @@
|
|
1
1
|
require_relative 'gatherer_scrape'
|
2
2
|
require_relative 'scrape_parser'
|
3
|
-
require_relative '
|
3
|
+
require_relative 'yaml_sink'
|
4
4
|
|
5
5
|
module Tamiyo
|
6
6
|
class GathererScrapeChain
|
7
7
|
def self.create(set)
|
8
|
-
Process.chain GathererScrape.new(set), ScrapeParser.new,
|
8
|
+
Process.chain GathererScrape.new(set), ScrapeParser.new, YamlSink.new
|
9
9
|
end
|
10
10
|
end
|
11
11
|
end
|
data/lib/tamiyo/scrape_parser.rb
CHANGED
@@ -90,13 +90,13 @@ module Tamiyo
|
|
90
90
|
@text.include?('{T}') && @text.include?('to your mana pool')
|
91
91
|
case main_type_based_on @type
|
92
92
|
when /Land/, mana_source
|
93
|
-
:
|
93
|
+
:first
|
94
94
|
when /Sorcery|Instant/
|
95
95
|
:stack
|
96
96
|
when /Creature/
|
97
|
-
:
|
97
|
+
:third
|
98
98
|
else
|
99
|
-
:
|
99
|
+
:second
|
100
100
|
end
|
101
101
|
end
|
102
102
|
|
data/lib/tamiyo/version.rb
CHANGED
@@ -0,0 +1,45 @@
|
|
1
|
+
require 'yaml'
|
2
|
+
|
3
|
+
module Tamiyo
|
4
|
+
module YamlHelper
|
5
|
+
def setup_yaml_emitter_for(file)
|
6
|
+
@emit = YAML::Emitter.new file
|
7
|
+
end
|
8
|
+
|
9
|
+
def emit_start_of_one_document
|
10
|
+
@emit.start_stream Psych::Nodes::Stream::UTF8
|
11
|
+
@emit.start_document [1, 1], [], true
|
12
|
+
end
|
13
|
+
|
14
|
+
def emit_end_of_one_document
|
15
|
+
@emit.end_document true
|
16
|
+
@emit.end_stream
|
17
|
+
end
|
18
|
+
|
19
|
+
def emit_block_sequence
|
20
|
+
@emit.start_sequence nil, nil, true, YAML::Nodes::Sequence::BLOCK
|
21
|
+
yield
|
22
|
+
@emit.end_sequence
|
23
|
+
end
|
24
|
+
|
25
|
+
def emit_flow_sequence
|
26
|
+
@emit.start_sequence nil, nil, true, YAML::Nodes::Sequence::FLOW
|
27
|
+
yield
|
28
|
+
@emit.end_sequence
|
29
|
+
end
|
30
|
+
|
31
|
+
def emit_block_mapping
|
32
|
+
@emit.start_mapping nil, nil, true, YAML::Nodes::Mapping::BLOCK
|
33
|
+
yield
|
34
|
+
@emit.end_mapping
|
35
|
+
end
|
36
|
+
|
37
|
+
def emit_plain(value)
|
38
|
+
@emit.scalar value, nil, nil, true, false, Psych::Nodes::Scalar::PLAIN
|
39
|
+
end
|
40
|
+
|
41
|
+
def emit_literal(value)
|
42
|
+
@emit.scalar value, nil, nil, false, true, YAML::Nodes::Scalar::LITERAL
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,70 @@
|
|
1
|
+
require 'fileutils'
|
2
|
+
require_relative 'process'
|
3
|
+
require_relative 'yaml_helper'
|
4
|
+
|
5
|
+
module Tamiyo
|
6
|
+
class YamlSink
|
7
|
+
include Process::Node
|
8
|
+
include YamlHelper
|
9
|
+
|
10
|
+
def pump
|
11
|
+
with_the_cards_file do
|
12
|
+
emit_block_sequence do
|
13
|
+
@chain.pull.each do |card|
|
14
|
+
emit_block_mapping do
|
15
|
+
emit_pair 'name', card.name
|
16
|
+
emit_pair 'identity', card.colors.first if card.colors.one?
|
17
|
+
emit_pair_with_sequence_value 'identity', card.colors unless card.colors.length > 1
|
18
|
+
emit_pair 'mana cost', card.cost
|
19
|
+
emit_pair 'type', card.type
|
20
|
+
emit_pair_with_literal_value 'text', card.text
|
21
|
+
emit_pair 'pt', card.pt if card.pt
|
22
|
+
emit_pair 'loyalty', card.loyalty if card.loyalty
|
23
|
+
emit_pair 'played tapped', 'true' if card.played_tapped
|
24
|
+
emit_pair 'row', card.table_row.to_s
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def emit_pair(key, value)
|
32
|
+
emit_plain key
|
33
|
+
emit_plain value
|
34
|
+
end
|
35
|
+
|
36
|
+
def emit_pair_with_literal_value(key, value)
|
37
|
+
emit_plain key
|
38
|
+
emit_literal value
|
39
|
+
end
|
40
|
+
|
41
|
+
def emit_pair_with_sequence_value(key, value)
|
42
|
+
emit_plain key
|
43
|
+
emit_flow_sequence do
|
44
|
+
value.each {|element| emit_plain element}
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
def with_the_cards_file(&block)
|
49
|
+
file_name = prepare_for_card_file
|
50
|
+
if block_given?
|
51
|
+
File.open(file_name, 'w') do |file|
|
52
|
+
within_a_yaml_document_of file, &block
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
def prepare_for_card_file
|
58
|
+
data_dir = File.join Dir.home, '.tamiyo'
|
59
|
+
FileUtils.mkpath data_dir
|
60
|
+
File.join data_dir, 'cards.yaml'
|
61
|
+
end
|
62
|
+
|
63
|
+
def within_a_yaml_document_of(file)
|
64
|
+
setup_yaml_emitter_for file
|
65
|
+
emit_start_of_one_document
|
66
|
+
yield
|
67
|
+
emit_end_of_one_document
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
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.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Roger Norling
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-12-
|
11
|
+
date: 2013-12-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -60,10 +60,11 @@ files:
|
|
60
60
|
- lib/tamiyo/gatherer_scrape.rb
|
61
61
|
- lib/tamiyo/gatherer_scrape_chain.rb
|
62
62
|
- lib/tamiyo/process.rb
|
63
|
-
- lib/tamiyo/puts_sink.rb
|
64
63
|
- lib/tamiyo/scrape_parser.rb
|
65
64
|
- lib/tamiyo/value.rb
|
66
65
|
- lib/tamiyo/version.rb
|
66
|
+
- lib/tamiyo/yaml_helper.rb
|
67
|
+
- lib/tamiyo/yaml_sink.rb
|
67
68
|
- tamiyo.gemspec
|
68
69
|
homepage: https://github.com/rogernorling/tamiyo#readme
|
69
70
|
licenses:
|