RTop 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +42 -3
- data/README.rdoc +3 -0
- data/Thorfile +2 -2
- data/bin/rtop +6 -0
- data/lib/RTop/generators/config.rb +18 -1
- data/lib/RTop/rtop.rb +13 -1
- data/lib/RTop/runner.rb +19 -0
- data/lib/RTop/version.rb +1 -1
- data/spec/rtop_spec.rb +9 -5
- data/taobao.yml +17 -0
- metadata +8 -3
data/README.md
CHANGED
@@ -18,9 +18,48 @@ Or install it yourself as:
|
|
18
18
|
|
19
19
|
## Usage
|
20
20
|
|
21
|
-
|
22
|
-
|
23
|
-
|
21
|
+
### Use in irb
|
22
|
+
1. check rtop version in terminal:
|
23
|
+
|
24
|
+
> rtop -v
|
25
|
+
|
26
|
+
2. generate rtop configuration file:
|
27
|
+
|
28
|
+
> rtop generate
|
29
|
+
|
30
|
+
3. go into irb, and type:
|
31
|
+
|
32
|
+
```ruby
|
33
|
+
> rtop = RTop::RTop.new() # by default will use taobao.yml in current folder or ./config folder
|
34
|
+
> item = rtop.get_item(1500022659003) # default to sandbox mode, so this item is from http://mini.tbsandbox.com/buyer/items_result.htm
|
35
|
+
> puts item["title"]
|
36
|
+
```
|
37
|
+
|
38
|
+
### Use with rails app
|
39
|
+
Simply put configuration file to yourApp/config/ folder, and start to use:
|
40
|
+
|
41
|
+
rtop = RTop::RTop.new()
|
42
|
+
rtop...
|
43
|
+
|
44
|
+
### Sample of the configuration file
|
45
|
+
|
46
|
+
defaults: &DEFAULTS
|
47
|
+
app_key: test
|
48
|
+
secret_key: test
|
49
|
+
|
50
|
+
development:
|
51
|
+
<<: *DEFAULTS
|
52
|
+
env: development # will use sandbox api url
|
53
|
+
|
54
|
+
test:
|
55
|
+
<<: *DEFAULTS
|
56
|
+
env: test # will use sandbox api url
|
57
|
+
|
58
|
+
production:
|
59
|
+
<<: *DEFAULTS
|
60
|
+
env: production # will use production api url
|
61
|
+
app_key: 1122334455
|
62
|
+
secret_key: 23424242424234234242423423
|
24
63
|
|
25
64
|
## Contributing
|
26
65
|
|
data/README.rdoc
ADDED
data/Thorfile
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
require 'thor'
|
2
|
-
require '
|
2
|
+
require 'rtop/generators/config'
|
3
3
|
|
4
4
|
module RTop
|
5
5
|
class Cli < Thor
|
6
6
|
desc "rspec", "Run RSpec Testing"
|
7
7
|
def rspec
|
8
|
-
exec "rspec --color --format=documentation spec"
|
8
|
+
exec "rspec ./config --color --format=documentation spec"
|
9
9
|
end
|
10
10
|
end
|
11
11
|
end
|
data/bin/rtop
ADDED
@@ -1,12 +1,29 @@
|
|
1
1
|
require 'thor/group'
|
2
|
+
require 'fileutils'
|
2
3
|
|
3
4
|
module RTop
|
4
5
|
module Generators
|
5
6
|
class Config < Thor::Group
|
6
7
|
include Thor::Actions
|
7
8
|
|
9
|
+
argument :path, :type => :string, :optional => true
|
10
|
+
|
8
11
|
def copy_config
|
9
|
-
|
12
|
+
file_path = path
|
13
|
+
unless file_path
|
14
|
+
file_path = File.join(Dir.pwd, 'config')
|
15
|
+
if File.directory?(file_path)
|
16
|
+
say("Seems like there is a /config folder, do you want rtop to generate configuration file to this folder?")
|
17
|
+
y = ask("Yes to generate to /config folder, others to generate to current folder. (Y|N): ")
|
18
|
+
unless "Y".casecmp(y) == 0
|
19
|
+
file_path = Dir.pwd
|
20
|
+
end
|
21
|
+
else
|
22
|
+
file_path = Dir.pwd
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
template "taobao.yml", File.join(file_path, 'taobao.yml')
|
10
27
|
end
|
11
28
|
|
12
29
|
def self.source_root
|
data/lib/RTop/rtop.rb
CHANGED
@@ -4,6 +4,7 @@ require "base64"
|
|
4
4
|
require "uri"
|
5
5
|
require 'httparty'
|
6
6
|
require "yaml"
|
7
|
+
require 'fileutils'
|
7
8
|
|
8
9
|
module RTop
|
9
10
|
class RTop
|
@@ -15,7 +16,18 @@ module RTop
|
|
15
16
|
API_OPTION = { "format" => "json", "v" => "2.0", "sign_method" => "md5" }
|
16
17
|
|
17
18
|
def initialize(config_file = nil)
|
18
|
-
config_file
|
19
|
+
unless config_file
|
20
|
+
if defined? Rails
|
21
|
+
config_file = "#{Rails.root}/config/taobao.yml"
|
22
|
+
else
|
23
|
+
config_file = File.join(Dir.pwd, 'config/taobao.yml')
|
24
|
+
unless File.file?(config_file)
|
25
|
+
config_file = File.join(Dir.pwd, 'taobao.yml')
|
26
|
+
end
|
27
|
+
end
|
28
|
+
raise "taobao.yml not found, generate one with 'rtop generate [path]'." unless File.file?(config_file)
|
29
|
+
end
|
30
|
+
|
19
31
|
@settings = YAML.load_file(config_file)
|
20
32
|
@settings = (defined? Rails) ? @settings[Rails.env] : @settings["defaults"]
|
21
33
|
end
|
data/lib/RTop/runner.rb
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'thor'
|
2
|
+
require 'rtop/version'
|
3
|
+
require 'rtop/generators/config.rb'
|
4
|
+
|
5
|
+
class RTop::Runner < Thor
|
6
|
+
map "-v" => :version
|
7
|
+
|
8
|
+
desc "version", "Show RTop version"
|
9
|
+
def version
|
10
|
+
say "RTop #{RTop::VERSION}"
|
11
|
+
end
|
12
|
+
|
13
|
+
desc "generate", "Generate configuration file for rtop"
|
14
|
+
method_options :path => :string, :optional => true
|
15
|
+
def generate
|
16
|
+
RTop::Generators::Config.start([options[:path]])
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
data/lib/RTop/version.rb
CHANGED
data/spec/rtop_spec.rb
CHANGED
@@ -1,17 +1,21 @@
|
|
1
1
|
require 'rtop'
|
2
2
|
require 'rtop/generators/config'
|
3
|
+
require 'rtop/runner'
|
3
4
|
|
4
5
|
describe RTop::RTop do
|
5
6
|
|
7
|
+
it "version test" do
|
8
|
+
RTop::Runner.start(["-v"])
|
9
|
+
end
|
10
|
+
|
11
|
+
it "generate test" do
|
12
|
+
RTop::Runner.start(["generate"])
|
13
|
+
end
|
14
|
+
|
6
15
|
it "get taobao item information" do
|
7
16
|
item = RTop::RTop.new(File.join('config', 'taobao.yml')).get_item(1500022659003)
|
8
17
|
item.should_not equal(nil)
|
9
18
|
item["title"].should_not equal(nil)
|
10
19
|
end
|
11
|
-
|
12
|
-
|
13
|
-
it "generate the taobao configuration file taobao.yml" do
|
14
|
-
RTop::Generators::Config.start()
|
15
|
-
end
|
16
20
|
|
17
21
|
end
|
data/taobao.yml
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
defaults: &DEFAULTS
|
2
|
+
app_key: test
|
3
|
+
secret_key: test
|
4
|
+
|
5
|
+
development:
|
6
|
+
<<: *DEFAULTS
|
7
|
+
env: development # will use sandbox api url
|
8
|
+
|
9
|
+
test:
|
10
|
+
<<: *DEFAULTS
|
11
|
+
env: test # will use sandbox api url
|
12
|
+
|
13
|
+
production:
|
14
|
+
<<: *DEFAULTS
|
15
|
+
env: production # will use production api url
|
16
|
+
app_key: 1122334455
|
17
|
+
secret_key: 23424242424234234242423423
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: RTop
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-03-
|
12
|
+
date: 2013-03-21 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
@@ -62,7 +62,8 @@ dependencies:
|
|
62
62
|
description: ! 'Library for Taobao Open API '
|
63
63
|
email:
|
64
64
|
- mingliangfeng@gmail.com
|
65
|
-
executables:
|
65
|
+
executables:
|
66
|
+
- rtop
|
66
67
|
extensions: []
|
67
68
|
extra_rdoc_files: []
|
68
69
|
files:
|
@@ -71,16 +72,20 @@ files:
|
|
71
72
|
- Gemfile
|
72
73
|
- LICENSE
|
73
74
|
- README.md
|
75
|
+
- README.rdoc
|
74
76
|
- RTop.gemspec
|
75
77
|
- Rakefile
|
76
78
|
- Thorfile
|
79
|
+
- bin/rtop
|
77
80
|
- config/taobao.yml
|
78
81
|
- lib/RTop/generators/config.rb
|
79
82
|
- lib/RTop/generators/taobao.yml
|
80
83
|
- lib/RTop/rtop.rb
|
84
|
+
- lib/RTop/runner.rb
|
81
85
|
- lib/RTop/version.rb
|
82
86
|
- lib/rtop.rb
|
83
87
|
- spec/rtop_spec.rb
|
88
|
+
- taobao.yml
|
84
89
|
homepage: ''
|
85
90
|
licenses: []
|
86
91
|
post_install_message:
|