xxbao 0.0.1 → 0.0.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 CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- NWIwYjVmNmEzYmEzNjE0YmY4MjliYzRkNDFlY2UzMWI4NTllYmU0Mw==
5
- data.tar.gz: !binary |-
6
- ZDI3MzMzMmZjOWIwYzQ4NzVlNmQ1ZTZkNjY1YjhjNDIzMWFiMDUzZQ==
2
+ SHA1:
3
+ metadata.gz: bac056405ea8d8d8652026d317dfd644f681efba
4
+ data.tar.gz: 2a1cf0491151930f6a58ec9d22d1b199344d93ea
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- NDYzNTA4ZGE2MDFhYTExNjYwZDY5YTBiN2Y0MDhjODk1MTVkZGQwOTA1MWFk
10
- MjAzMDY4ZjE4MjRhNzNhOTdjMGNiMzQ3ZmIzNjQ0MzJlMDI1NzdlOGRlOGU0
11
- YTA1ZGQ2YzliMjQ1Y2ZkMWExOTlhMjcxNDBkNGJlYzZkY2YwMDM=
12
- data.tar.gz: !binary |-
13
- NjhmZmM4Y2M1MGZjYTIxNjM0NTliOTE1NmRkOWJlNmY5MDUwMjRlNjE0NmU3
14
- NWEzNjUxNGFkOGMyNzlhMWM2Yjk4OGM2YjVlYmQzYTUzMGMzYjRhZGM2MDJi
15
- YTM5MjI1NmVhZThiZjQ3NzZmNTg2YWMwOTRkOGRjOGU0NGM1NzE=
6
+ metadata.gz: 2248400f0d9ddcaf810101a9408478941bd6e302b4e0b1aaa157901902bef863896f42f426569a34c897a2827b26fb876763b0d3b35e0a58e16767a4c998d825
7
+ data.tar.gz: 2aa548c137da7f137bf6ffab8076a736536e43317a297890fd438740250b5aa508939a04e162d0045dda6b625999cb67673519b2426bc1f0b655c5adf6336680
data/README.md CHANGED
@@ -1,28 +1,25 @@
1
1
  # Xxbao
2
2
 
3
- TODO: Write a gem description
3
+ 播报"xx宝"收益的命令行工具(Ruby版)
4
4
 
5
- ## Installation
6
-
7
- Add this line to your application's Gemfile:
5
+ 受到 [xxb](https://github.com/coolzilj/xxb) 的启发, 由于 Node 版本的 xxb 速度较慢, 大概需要 2s 左右, 所以编写一个 Ruby 版本的 xxbao, 采用多线程, 所需时间 0.6s 左右, 在此感谢 [xxb](https://github.com/coolzilj/xxb) 的作者 [Liu Jin](https://github.com/coolzilj)
8
6
 
9
- gem 'xxbao'
7
+ ![screenshot](http://naixspirit.com/images/xxbao.png)
10
8
 
11
- And then execute:
12
-
13
- $ bundle
9
+ ## Installation
14
10
 
15
- Or install it yourself as:
11
+ install it yourself as:
16
12
 
17
13
  $ gem install xxbao
18
14
 
19
- ## Usage
15
+ ### Usage
16
+ Just run `xxbao` , you will get the pretty table.
20
17
 
21
- TODO: Write usage instructions here
18
+ $ xxbao
22
19
 
23
20
  ## Contributing
24
21
 
25
- 1. Fork it ( http://github.com/<my-github-username>/xxbao/fork )
22
+ 1. Fork it ( http://github.com/NaixSpirit/xxbao/fork )
26
23
  2. Create your feature branch (`git checkout -b my-new-feature`)
27
24
  3. Commit your changes (`git commit -am 'Add some feature'`)
28
25
  4. Push to the branch (`git push origin my-new-feature`)
@@ -5,6 +5,7 @@ require "xxbao/config"
5
5
 
6
6
  require "net/http"
7
7
  require "command_line_reporter"
8
+ require "unicode/display_width"
8
9
 
9
10
  module Xxbao
10
11
  class Base
@@ -21,6 +22,7 @@ module Xxbao
21
22
  @table.add(first_row)
22
23
  @funds.values.each { |f| @table.add(fund_row(f)) }
23
24
  @table.output
25
+ puts "来源: http://fund.eastmoney.com/, 时间: #{Time.now.strftime("%F %T")}"
24
26
  end
25
27
 
26
28
  private
@@ -40,12 +42,12 @@ module Xxbao
40
42
  end
41
43
 
42
44
  def first_row
43
- row = CommandLineReporter::Row.new(bold: true)
45
+ row = CommandLineReporter::Row.new(bold: true, header: true, color: "red")
44
46
  [
45
- CommandLineReporter::Column.new('Name', align: 'center'),
46
- CommandLineReporter::Column.new('Platform', align: 'center'),
47
- CommandLineReporter::Column.new('SevenYearRateOfReturn', align: 'center'),
48
- CommandLineReporter::Column.new('PerMillionFundNetRevenue', align: 'center')
47
+ CommandLineReporter::Column.new('名称', align: 'center'),
48
+ CommandLineReporter::Column.new('平台', align: 'center'),
49
+ CommandLineReporter::Column.new('七日年化收益率', align: 'center'),
50
+ CommandLineReporter::Column.new('万份收益', align: 'center')
49
51
  ].each { |c| row.add(c) }
50
52
  row
51
53
  end
@@ -69,5 +71,22 @@ module Xxbao
69
71
  end
70
72
  end
71
73
 
74
+ class ::CommandLineReporter::Column
75
+
76
+ def required_width
77
+ self.text.to_s.display_size + 2 * self.padding
78
+ end
79
+
80
+ def aligned_cell(str)
81
+ case self.align
82
+ when 'left'
83
+ " " * (self.size - str.display_size) + str if self.size > str.display_size
84
+ when 'right'
85
+ str + " " * (self.size - str.display_size) if self.size > str.display_size
86
+ when 'center'
87
+ " " * ((self.size - str.display_size) / 2.0).floor + str + " " * ((self.size - str.display_size) / 2.0).ceil
88
+ end
89
+ end
90
+ end
72
91
  end
73
- end
92
+ end
@@ -3,36 +3,32 @@
3
3
  module Xxbao
4
4
  module Config
5
5
  BaseUrl = 'http://jingzhi.funds.hexun.com/'
6
- Regex = /<font.+><span>(\d\.\d+)<\/span>.+\r\n.+<font.+>(\d\.\d+%)<\/font>/
7
- Funds = {
8
- "000343" => {
9
- bao: "CaiFuBao",
10
- platform: "WeChat",
11
- },
12
- "000397" => {
13
- bao: "QuanEBao",
14
- platform: "WeChat",
15
- },
16
- "000330" => {
17
- bao: "XianJinBao",
18
- platform: "Netease",
19
- },
20
- "000198" => {
21
- bao: "YuEBao",
22
- platform: "Alipay",
23
- },
24
- "003003" => {
25
- bao: "BaiZhuan",
26
- platform: "Baidu",
27
- },
28
- "000464" => {
29
- bao: "BaiZhuan(ligunli)",
30
- platform: "Baidu",
31
- },
32
- "000389" => {
33
- bao: "LingQianBao",
34
- platform: "Suning",
35
- }
6
+ Regex = /<font.+><span>(\d\.\d+)<\/span>.+\r\n.+<font.+>(\d\.\d+%)<\/font>/
7
+ Funds = {
8
+ "000343" => {
9
+ bao: "财富宝",
10
+ platform: "微信",
11
+ },
12
+ "000330" => {
13
+ bao: "现金宝",
14
+ platform: "网易理财",
15
+ },
16
+ "000198" => {
17
+ bao: "余额宝",
18
+ platform: "支付宝",
19
+ },
20
+ "003003" => {
21
+ bao: "百赚",
22
+ platform: "百度理财",
23
+ },
24
+ "000464" => {
25
+ bao: "百赚利滚利版",
26
+ platform: "百度理财",
27
+ },
28
+ "000389" => {
29
+ bao: "零钱宝",
30
+ platform: "苏宁",
31
+ }
36
32
  }
37
33
  end
38
34
  end
@@ -1,3 +1,3 @@
1
1
  module Xxbao
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -23,4 +23,5 @@ Gem::Specification.new do |spec|
23
23
  spec.add_development_dependency "rspec", "~> 2.14"
24
24
 
25
25
  spec.add_dependency "command_line_reporter", "~> 3.3"
26
+ spec.add_dependency "unicode-display_width", "0.1.1"
26
27
  end
metadata CHANGED
@@ -1,71 +1,85 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xxbao
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Spirit
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-20 00:00:00.000000000 Z
11
+ date: 2014-11-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.5'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.5'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '10.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: '2.14'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '2.14'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: command_line_reporter
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: '3.3'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ~>
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '3.3'
69
+ - !ruby/object:Gem::Dependency
70
+ name: unicode-display_width
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '='
74
+ - !ruby/object:Gem::Version
75
+ version: 0.1.1
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '='
81
+ - !ruby/object:Gem::Version
82
+ version: 0.1.1
69
83
  description: A commandline-tool to check the xxbao fund income
70
84
  email:
71
85
  - neverlandxy.naix@gmail.com
@@ -74,8 +88,8 @@ executables:
74
88
  extensions: []
75
89
  extra_rdoc_files: []
76
90
  files:
77
- - .gitignore
78
- - .rspec
91
+ - ".gitignore"
92
+ - ".rspec"
79
93
  - Gemfile
80
94
  - LICENSE.txt
81
95
  - README.md
@@ -95,17 +109,17 @@ require_paths:
95
109
  - lib
96
110
  required_ruby_version: !ruby/object:Gem::Requirement
97
111
  requirements:
98
- - - ! '>='
112
+ - - ">="
99
113
  - !ruby/object:Gem::Version
100
114
  version: '0'
101
115
  required_rubygems_version: !ruby/object:Gem::Requirement
102
116
  requirements:
103
- - - ! '>='
117
+ - - ">="
104
118
  - !ruby/object:Gem::Version
105
119
  version: '0'
106
120
  requirements: []
107
121
  rubyforge_project:
108
- rubygems_version: 2.2.2
122
+ rubygems_version: 2.4.2
109
123
  signing_key:
110
124
  specification_version: 4
111
125
  summary: xxbao commandline-tool