running_track 1.0.3 → 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b907c613d034e27bfb6ebd608be9e4d9b138cbc3
4
- data.tar.gz: b3defbf16fad3aa13c039aa7cce8d8a1e456b4a0
3
+ metadata.gz: cdd0326722779420f2e50e8eac5bca59061a8072
4
+ data.tar.gz: 62c43e136f2296111b6e4ead9027f7f5b6159fbb
5
5
  SHA512:
6
- metadata.gz: 5041cb6201770c0444b57a693bd42c81fdbc6ef3318c465d9e4472d20eaea897556e4c2669277f6c5babf339a767817e47b8fc03b646585bf00f35dba2067859
7
- data.tar.gz: b109edf81c1c178a1f9b49c6b5f6bb914711ede52f006448f0166204363d30dec05c2f0d1f7550eed6de1db97701efb3b66b0c47378f95db80c91130410a5f2b
6
+ metadata.gz: 32da896e080dc9ab17d28d522aba7e4d613f18efde57d3f725cf20c87003fe4638d5e221cbfdb961cf99f796066c1b938942a4b688279857f0c7e7b84c86f31c
7
+ data.tar.gz: 7b515a4732a94260360199d59d5dc00bfe0f52aea4480a3cb796a0c9ebefc4a2886c7be99f133a86510b42b7c33f5a10d69f9438468e0c44579e010ccd91e2ec
@@ -1,42 +1,13 @@
1
1
  require_relative 'running_track/data'
2
2
  require_relative 'running_track/table'
3
3
 
4
-
5
4
  module RunningTrack
6
5
 
7
- # @cache = {}
8
-
9
- # # def self.headers
10
- # # end
11
-
12
- def self.print type = :web
13
- # data(type).print
14
- data(type).print
15
- # @cache[type].print
16
- end
17
-
18
- # def self.show_cache
19
- # @cache
20
- # end
21
-
22
- # def self.drop_cache!
23
- # @cache = {}
24
- # end
25
-
26
-
27
- private
28
-
29
- def self.data type
30
- data = Data.import type
31
- Table.new data
32
- # @cache[type] ||= Table.new data
6
+ def self.print
7
+ data = Data.import
8
+ Table.new(data).print
33
9
  end
34
10
 
35
11
  end
36
12
 
37
- # puts RunningTrack.print(:file)
38
- # RunningTrack.drop_cache!
39
- # RunningTrack.print :file
40
- # p RunningTrack.show_cache.keys
41
-
42
-
13
+ # RunningTrack.print
@@ -1,18 +1,13 @@
1
- # encoding: utf-8
2
-
3
1
  require 'open-uri'
4
2
 
5
3
  module RunningTrack
6
4
  module Data
7
5
 
8
- DATA_PATH = File.expand_path '../../data/Беговые дорожки.csv', __FILE__
9
- DATA_URL = "http://data.mos.ru/datasets/download/899"
6
+ DATA_URL = "http://api.data.mos.ru/v1/datasets/899/rows"
10
7
 
11
- def self.import source
12
- path = source == :web ? DATA_URL : DATA_PATH
13
- open path
8
+ def self.import
9
+ open DATA_URL
14
10
  end
15
11
 
16
12
  end
17
- end
18
-
13
+ end
@@ -1,34 +1,33 @@
1
+ require 'json'
2
+ require 'active_support/core_ext/hash/slice'
1
3
  require 'terminal-table'
2
4
 
3
5
  module RunningTrack
4
6
  class Table
5
7
 
6
- SPLITTER = ';'
7
-
8
- attr_reader :rows
8
+ HEADINGS = ["District", "Address", "HelpPhone", "ObjectHasWifi"]
9
9
 
10
10
  def initialize data
11
- puts "[RunningTrack::Table]: Create running track table"
12
11
  @rows = prepare data
13
12
  end
14
13
 
15
14
  def print
16
- @table ||= create_table
17
- # puts @table
15
+ @table ||= create_table
16
+ puts @table
18
17
  end
19
18
 
20
19
 
21
- # private
20
+ private
22
21
 
23
22
  def prepare data
24
- data.map{ |line| line.split(SPLITTER) }
23
+ JSON.parse(data.read).map! do |row|
24
+ row['Cells'].slice(*HEADINGS).values
25
+ end
25
26
  end
26
27
 
27
28
  def create_table
28
- puts "[RunningTrack::Table]: Create terminal table"
29
- headings = @rows.shift
30
29
  sep_rows = @rows.zip(Array.new(@rows.count - 1){ :separator }).flatten(1).compact
31
- Terminal::Table.new headings: headings, rows: sep_rows
30
+ Terminal::Table.new rows: sep_rows, headings: HEADINGS
32
31
  end
33
32
 
34
33
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: running_track
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Evgeniy Fateev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-01 00:00:00.000000000 Z
11
+ date: 2015-09-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: terminal-table