Class: BeerDb::BreweryReader
- Inherits:
-
Object
- Object
- BeerDb::BreweryReader
show all
- Includes:
- Model, LogUtils::Logging
- Defined in:
- lib/beerdb/readers/brewery.rb
Constant Summary
Constants included
from Model
Model::City, Model::Continent, Model::Country, Model::Prop, Model::State, Model::Tag, Model::Tagging
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(text, more_attribs = {}) ⇒ BreweryReader
Returns a new instance of BreweryReader.
34
35
36
37
38
|
# File 'lib/beerdb/readers/brewery.rb', line 34
def initialize( text, more_attribs={} )
@text = text
@more_attribs = more_attribs
end
|
Class Method Details
.from_file(path, more_attribs = {}) ⇒ Object
23
24
25
26
27
28
|
# File 'lib/beerdb/readers/brewery.rb', line 23
def self.from_file( path, more_attribs={} )
text = File.read_utf8( path )
self.from_string( text, more_attribs )
end
|
.from_string(text, more_attribs = {}) ⇒ Object
30
31
32
|
# File 'lib/beerdb/readers/brewery.rb', line 30
def self.from_string( text, more_attribs={} )
BreweryReader.new( text, more_attribs )
end
|
.from_zip(zip_file, entry_path, more_attribs = {}) ⇒ Object
13
14
15
16
17
18
19
20
21
|
# File 'lib/beerdb/readers/brewery.rb', line 13
def self.from_zip( zip_file, entry_path, more_attribs={} )
entry = zip_file.find_entry( entry_path )
text = entry.get_input_stream().read()
text = text.force_encoding( Encoding::UTF_8 )
self.from_string( text, more_attribs )
end
|
Instance Method Details
#read ⇒ Object
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
# File 'lib/beerdb/readers/brewery.rb', line 43
def read()
=begin
if name =~ /\(m\)/ # check for (m) mid-size/medium marker -todo- use $?? must be last?
more_attribs[ :prod_m ] = true
elsif name =~ /\(l\)/ # check for (l) large marker - todo - use $?? must be last?
more_attribs[ :prod_l ] = true
else
## no marker; do nothing
end
=end
reader = ValuesReader.from_string( @text, @more_attribs )
reader.each_line do |new_attributes, values|
if new_attributes[:header].present?
logger.warn "removing unused group header #{new_attributes[:header]}"
new_attributes.delete(:header) end
Brewery.create_or_update_from_attribs( new_attributes, values )
end end
|