amperka 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +8 -8
  2. data/lib/amperka/prodb.rb +25 -29
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- OGYwYjM1ZmQ0OWQ4Y2YzNDdjYWM0ZGZiODBkZmU5OGI1ZDJjNzNlZQ==
4
+ YWRhNDZhMWVlODQ1YWM1MjYyYzdmY2M0N2FlMDA3OWQzNDRmY2RhMA==
5
5
  data.tar.gz: !binary |-
6
- NzkwNzcwYzZjYWMxMTRjNzg2ODkzNTFiYWYzMDI0NGExZjhmNjA5OQ==
6
+ NGNkYjdlMDhmYWE5NzljN2VlMzJkY2E0NGIwNTZlZDM2YWY3YjlmMQ==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- MWRhOWEzZTZjN2FlZmI4Y2RkZDRmNzNlYzg2MzZiYWVhN2I2ODI1OTAxOTUw
10
- M2NjNWZiZDFjMDY0OTI2NTU1YWFkODZmOTU0ODg3YzJmODg4MDc4ODI1Yjdh
11
- NWEzMzBlZTJlYzU3YzI2ZWZmNGFlMTNmZmI0OTMxZTE2MGFjM2Y=
9
+ OTdkYzIzY2UwZTgxZjMyYTQ1N2JlZDI2ZTIwYmYwNGI4NGY4YWExZDBmYzlj
10
+ OWE2MWFjZjE4ZmY4MDRlOTE3Y2NlNTU3YjcyODJjYzYwY2QyMmIwODhiNzJh
11
+ NjU3YzlkN2VhOGVmOGU0MjdmOWNhMjNiZjg2YTRiZDVkOGIzYmI=
12
12
  data.tar.gz: !binary |-
13
- MjkxZDhmNmZjZTY2MjFhMDFmZmY2M2Y5NzU5ZmY0NGI2MTJmOGVlMTBjMGVm
14
- YmM0NDgxMWNkY2IyNjU2ZWRiZmFhZjVhZWU2ZDEzZGVlNTJkNGNjODhjMDgy
15
- YmY2MDZkZDA3NDRhNmNiODkyODY5N2M5ZjZmMzYxMTU5ZjdlMmI=
13
+ MmIwZTk2NWQwZTY1MTU3ZDRhZDYyMzQxNmM0YjQ1MGY4MmI2ZjQ3YWMzMzJj
14
+ ZTBlZjgzYTVlNTNhYjQwNjMyZGQ5NGIzYTk5OWEyYTc2MzQ4OTJlZTRkNmUx
15
+ NDQ5YTQ4MmY5MDM3YTliMjcxNmQ2OTdkZTQwMDcyZDMzOTJiOGU=
@@ -1,49 +1,45 @@
1
1
  #!/usr/bin/ruby19
2
2
  # encoding: UTF-8
3
3
 
4
+ require 'yaml'
5
+
6
+
4
7
  module Amperka
5
8
 
6
9
  class Products
7
10
 
8
11
  def self.load root
9
- # *TODO*
12
+ products = []
13
+ yamls = Dir.glob "#{root}/**/*.yaml"
14
+
15
+ yamls.each do |file|
16
+ products += load_file file
17
+ end
18
+
19
+ products
10
20
  end
11
21
 
12
22
  def self.load_file path
23
+ products = []
13
24
  file = IO.read path
14
25
 
15
- bdesc = nil
16
- products = []
17
- product = {}
26
+ data = YAML.load file
18
27
 
19
- lines = file.split "\n"
28
+ data.each do |product|
29
+ valid = true
20
30
 
21
- lines.each_with_index do |line, index|
22
- if /^\s*-\s*$/ =~ line
23
- products << product unless product.empty?
24
- product = {}
25
- bdesc = nil
26
- next
31
+ [ 'Название', 'Пермалинк', 'Кратко', 'Полно' ].each do |key|
32
+ valid = nil unless product.has_key? key
27
33
  end
28
34
 
29
- unless bdesc
30
- case line
31
- when /^\s+Название:\s*.*$/
32
- matcha = /^\s+Название:\s*(.*)\s*$/.match line
33
- product[:name] = matcha[1]
34
- when /^\s+Пермалинк:\s*.*$/
35
- matcha = /^\s+Пермалинк:\s*(.*)\s*$/.match line
36
- product[:permalink] = matcha[1]
37
- when /^\s+Кратко:\s*.*$/
38
- matcha = /^\s+Кратко:\s*(.*)\s*$/.match line
39
- product[:shortdesc] = matcha[1]
40
- when /^\s+Полно:\s*\|\s*$/
41
- product[:desc] = ''
42
- bdesc = true
43
- end
44
- else
45
- product[:desc] += line.sub(/^\s+/, '') + "\n"
46
- end
35
+ next unless valid
36
+
37
+ products << {
38
+ :name => product['Название'],
39
+ :permalink => product['Пермалинк'],
40
+ :shortdesc => product['Кратко'],
41
+ :desc => product['Полно']
42
+ }
47
43
  end
48
44
 
49
45
  products
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: amperka
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Levenkov Artem
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-22 00:00:00.000000000 Z
11
+ date: 2014-10-02 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Top Secret
14
14
  email: artem@levenkov.org