superspeed-cli 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 4363dbc05c14de63cf7eee825a548dbaa9a4133a
4
+ data.tar.gz: eccbc324bdc01a87e8b008d0a5fcbe23db8f68b7
5
+ SHA512:
6
+ metadata.gz: 42a084df38072ebe3a06a79f973429b875dc1ccc65c3e215d74f2e80f10d17b311ee685fb73c37926354df361098a327026ce99723b13c3f248913f76c2af9d7
7
+ data.tar.gz: 24b9b6af032a023edc9e95197222b2281b09215ef6c47f4907f78ea6f88036dfb0f9d08e6aca911c6a839eb739e32ddfd2cf3c8710dea3b8655c4c0059bebaeb
data/Gemfile ADDED
@@ -0,0 +1,2 @@
1
+ source 'https://rubygems.org'
2
+ gemspec
@@ -0,0 +1,104 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ superspeed-cli (0.0.1)
5
+ execjs (= 2.5.2)
6
+ gli (= 2.13.1)
7
+ highline (= 1.7.2)
8
+ mechanize (= 2.7.3)
9
+ table_print (= 1.5.3)
10
+ virtus (= 1.0.1)
11
+
12
+ GEM
13
+ remote: https://rubygems.org/
14
+ specs:
15
+ aruba (0.6.2)
16
+ childprocess (>= 0.3.6)
17
+ cucumber (>= 1.1.1)
18
+ rspec-expectations (>= 2.7.0)
19
+ axiom-types (0.0.5)
20
+ descendants_tracker (~> 0.0.1)
21
+ ice_nine (~> 0.9)
22
+ builder (3.2.2)
23
+ childprocess (0.5.6)
24
+ ffi (~> 1.0, >= 1.0.11)
25
+ coderay (1.1.0)
26
+ coercible (1.0.0)
27
+ descendants_tracker (~> 0.0.1)
28
+ cucumber (2.0.0)
29
+ builder (>= 2.1.2)
30
+ cucumber-core (~> 1.1.3)
31
+ diff-lcs (>= 1.1.3)
32
+ gherkin (~> 2.12)
33
+ multi_json (>= 1.7.5, < 2.0)
34
+ multi_test (>= 0.1.2)
35
+ cucumber-core (1.1.3)
36
+ gherkin (~> 2.12.0)
37
+ descendants_tracker (0.0.4)
38
+ thread_safe (~> 0.3, >= 0.3.1)
39
+ diff-lcs (1.2.5)
40
+ domain_name (0.5.24)
41
+ unf (>= 0.0.5, < 1.0.0)
42
+ equalizer (0.0.11)
43
+ execjs (2.5.2)
44
+ ffi (1.9.8)
45
+ gherkin (2.12.2)
46
+ multi_json (~> 1.3)
47
+ gli (2.13.1)
48
+ highline (1.7.2)
49
+ http-cookie (1.0.2)
50
+ domain_name (~> 0.5)
51
+ ice_nine (0.11.1)
52
+ json (1.8.2)
53
+ mechanize (2.7.3)
54
+ domain_name (~> 0.5, >= 0.5.1)
55
+ http-cookie (~> 1.0)
56
+ mime-types (~> 2.0)
57
+ net-http-digest_auth (~> 1.1, >= 1.1.1)
58
+ net-http-persistent (~> 2.5, >= 2.5.2)
59
+ nokogiri (~> 1.4)
60
+ ntlm-http (~> 0.1, >= 0.1.1)
61
+ webrobots (>= 0.0.9, < 0.2)
62
+ method_source (0.8.2)
63
+ mime-types (2.6.1)
64
+ mini_portile (0.6.2)
65
+ multi_json (1.11.0)
66
+ multi_test (0.1.2)
67
+ net-http-digest_auth (1.4)
68
+ net-http-persistent (2.9.4)
69
+ nokogiri (1.6.6.2)
70
+ mini_portile (~> 0.6.0)
71
+ ntlm-http (0.1.1)
72
+ pry (0.9.12.4)
73
+ coderay (~> 1.0)
74
+ method_source (~> 0.8)
75
+ slop (~> 3.4)
76
+ rake (10.4.2)
77
+ rdoc (4.2.0)
78
+ json (~> 1.4)
79
+ rspec-expectations (3.2.1)
80
+ diff-lcs (>= 1.2.0, < 2.0)
81
+ rspec-support (~> 3.2.0)
82
+ rspec-support (3.2.2)
83
+ slop (3.6.0)
84
+ table_print (1.5.3)
85
+ thread_safe (0.3.5)
86
+ unf (0.1.4)
87
+ unf_ext
88
+ unf_ext (0.0.7.1)
89
+ virtus (1.0.1)
90
+ axiom-types (~> 0.0.5)
91
+ coercible (~> 1.0)
92
+ descendants_tracker (~> 0.0.1)
93
+ equalizer (~> 0.0.7)
94
+ webrobots (0.1.1)
95
+
96
+ PLATFORMS
97
+ ruby
98
+
99
+ DEPENDENCIES
100
+ aruba
101
+ pry
102
+ rake
103
+ rdoc
104
+ superspeed-cli!
@@ -0,0 +1,6 @@
1
+ = superspeed-cli
2
+
3
+ Describe your project here
4
+
5
+ :include:superspeed-cli.rdoc
6
+
@@ -0,0 +1,44 @@
1
+ require 'rake/clean'
2
+ require 'rubygems'
3
+ require 'rubygems/package_task'
4
+ require 'rdoc/task'
5
+ require 'cucumber'
6
+ require 'cucumber/rake/task'
7
+ Rake::RDocTask.new do |rd|
8
+ rd.main = "README.rdoc"
9
+ rd.rdoc_files.include("README.rdoc","lib/**/*.rb","bin/**/*")
10
+ rd.title = 'Your application title'
11
+ end
12
+
13
+ spec = eval(File.read('superspeed-cli.gemspec'))
14
+
15
+ Gem::PackageTask.new(spec) do |pkg|
16
+ end
17
+ CUKE_RESULTS = 'results.html'
18
+ CLEAN << CUKE_RESULTS
19
+ desc 'Run features'
20
+ Cucumber::Rake::Task.new(:features) do |t|
21
+ opts = "features --format html -o #{CUKE_RESULTS} --format progress -x"
22
+ opts += " --tags #{ENV['TAGS']}" if ENV['TAGS']
23
+ t.cucumber_opts = opts
24
+ t.fork = false
25
+ end
26
+
27
+ desc 'Run features tagged as work-in-progress (@wip)'
28
+ Cucumber::Rake::Task.new('features:wip') do |t|
29
+ tag_opts = ' --tags ~@pending'
30
+ tag_opts = ' --tags @wip'
31
+ t.cucumber_opts = "features --format html -o #{CUKE_RESULTS} --format pretty -x -s#{tag_opts}"
32
+ t.fork = false
33
+ end
34
+
35
+ task :cucumber => :features
36
+ task 'cucumber:wip' => 'features:wip'
37
+ task :wip => 'features:wip'
38
+ require 'rake/testtask'
39
+ Rake::TestTask.new do |t|
40
+ t.libs << "test"
41
+ t.test_files = FileList['test/*_test.rb']
42
+ end
43
+
44
+ task :default => [:test,:features]
@@ -0,0 +1,123 @@
1
+ #!/usr/bin/env ruby
2
+ require 'gli'
3
+ begin # XXX: Remove this begin/rescue before distributing your app
4
+ require 'superspeed-cli'
5
+ rescue LoadError
6
+ STDERR.puts "In development, you need to use `bundle exec bin/superspeed-cli` to run your app"
7
+ STDERR.puts "At install-time, RubyGems will make sure lib, etc. are in the load path"
8
+ STDERR.puts "Feel free to remove this message from bin/superspeed-cli now"
9
+ exit 64
10
+ end
11
+
12
+ include GLI::App
13
+
14
+ program_desc 'Cli wrapper around superspeed'
15
+
16
+ version SuperspeedCli::VERSION
17
+
18
+ subcommand_option_handling :normal
19
+ arguments :strict
20
+
21
+ #desc 'Describe some switch here'
22
+ #switch [:s,:switch]
23
+
24
+ #desc 'Describe some flag here'
25
+ #default_value 'the default'
26
+ #arg_name 'The name of the argument'
27
+ #flag [:f,:flagname]
28
+
29
+ desc 'Login to superspeed'
30
+ command :login do |c|
31
+ c.action do |global_options,options,args|
32
+ s = SuperspeedCli::App.new(Mechanize.new)
33
+ username = ask("Enter your username: ") do |q|
34
+ q.default = `whoami`.strip
35
+ q.echo = true
36
+ end
37
+ password = ask("Enter your password: ") { |q| q.echo = "*" }
38
+
39
+ s.login(username, password)
40
+ s.save_credentials
41
+ end
42
+ end
43
+
44
+ desc 'List logs for a given month'
45
+ command :logs do |c|
46
+
47
+ c.desc "Output format(table, json) "
48
+ c.default_value 'table'
49
+ c.flag :f, must_match: ['table', 'json']
50
+
51
+ c.desc "Date"
52
+ c.default_value Date.today.to_s
53
+ c.flag :d, :date
54
+
55
+ c.action do |global_options,options,args|
56
+ s = SuperspeedCli::App.new(Mechanize.new)
57
+ s.load_credentials
58
+ s.load_month(Date.parse(options[:date]))
59
+
60
+ out = s.days_info
61
+
62
+ if options[:f] == 'table'
63
+ tp out
64
+ else
65
+ print out.to_json
66
+ end
67
+ end
68
+ end
69
+
70
+ desc 'Create log'
71
+ arg_name 'task_id description'
72
+ command :create_log do |c|
73
+ c.desc "Date"
74
+ c.default_value Date.today.to_s
75
+ c.flag :d, :date
76
+
77
+ c.desc "Hours"
78
+ c.default_value 8
79
+ c.flag :h, :hours
80
+
81
+ c.desc "Task name"
82
+ c.default_value "Implementation"
83
+ c.flag :t, :task
84
+
85
+ c.action do |global_options,options,args|
86
+ s = SuperspeedCli::App.new(Mechanize.new)
87
+ s.load_credentials
88
+
89
+ date = Date.parse(options[:date])
90
+ log = SuperspeedCli::Log.new({
91
+ date: date,
92
+ task: options[:task],
93
+ hours: options[:hours],
94
+ task_id: args[0],
95
+ description: args[1],
96
+ })
97
+
98
+ s.create_log(log)
99
+ end
100
+ end
101
+
102
+ pre do |global,command,options,args|
103
+ # Pre logic here
104
+ # Return true to proceed; false to abort and not call the
105
+ # chosen command
106
+ # Use skips_pre before a command to skip this block
107
+ # on that command only
108
+ true
109
+ end
110
+
111
+ post do |global,command,options,args|
112
+ # Post logic here
113
+ # Use skips_post before a command to skip this
114
+ # block on that command only
115
+ end
116
+
117
+ on_error do |exception|
118
+ # Error logic here
119
+ # return false to skip default error handling
120
+ true
121
+ end
122
+
123
+ exit run(ARGV)
@@ -0,0 +1,6 @@
1
+ When /^I get help for "([^"]*)"$/ do |app_name|
2
+ @app_name = app_name
3
+ step %(I run `#{app_name} help`)
4
+ end
5
+
6
+ # Add more step definitions here
@@ -0,0 +1,8 @@
1
+ Feature: My bootstrapped app kinda works
2
+ In order to get going on coding my awesome app
3
+ I want to have aruba and cucumber setup
4
+ So I don't have to do it myself
5
+
6
+ Scenario: App just runs
7
+ When I get help for "superspeed-cli"
8
+ Then the exit status should be 0
@@ -0,0 +1,15 @@
1
+ require 'aruba/cucumber'
2
+
3
+ ENV['PATH'] = "#{File.expand_path(File.dirname(__FILE__) + '/../../bin')}#{File::PATH_SEPARATOR}#{ENV['PATH']}"
4
+ LIB_DIR = File.join(File.expand_path(File.dirname(__FILE__)),'..','..','lib')
5
+
6
+ Before do
7
+ # Using "announce" causes massive warnings on 1.9.2
8
+ @puts = true
9
+ @original_rubylib = ENV['RUBYLIB']
10
+ ENV['RUBYLIB'] = LIB_DIR + File::PATH_SEPARATOR + ENV['RUBYLIB'].to_s
11
+ end
12
+
13
+ After do
14
+ ENV['RUBYLIB'] = @original_rubylib
15
+ end
@@ -0,0 +1,10 @@
1
+ require 'superspeed-cli/version.rb'
2
+ require 'mechanize'
3
+ require 'execjs'
4
+ require 'virtus'
5
+ require 'highline/import'
6
+ require 'table_print'
7
+
8
+ require 'superspeed-cli/log.rb'
9
+ require 'superspeed-cli/app.rb'
10
+
@@ -0,0 +1,85 @@
1
+ module SuperspeedCli
2
+ class App
3
+ attr_reader :page, :agent
4
+
5
+ BASE_URL = "http://intern.loki.pitechnologies.ro/app_dev.php"
6
+ LOGIN_URL = "#{BASE_URL}/login"
7
+ MONTH_URL = "#{BASE_URL}/superspeed/report/index/%{year}/%{month}"
8
+ CREATE_LOG_URL = "#{BASE_URL}/superspeed/report/log"
9
+ CREDENTIALS_FILE = File.expand_path("~/.superspeed-cookies")
10
+
11
+ def initialize(agent)
12
+ @agent = agent
13
+ end
14
+
15
+ def login(username, password)
16
+ @page = @agent.get(LOGIN_URL)
17
+
18
+ login_form = @page.form
19
+ login_form._username = username
20
+ login_form._password = password
21
+
22
+ @page = @agent.submit(login_form, login_form.buttons.first)
23
+ raise "Login failed #{@page.search('//div[contains(@class, "alert")]').text}" if login_form_visible?
24
+
25
+ end
26
+
27
+ def save_credentials
28
+ authenticate!
29
+
30
+ @agent.cookie_jar.save_as CREDENTIALS_FILE, session: true, format: :yaml
31
+ end
32
+
33
+ def days
34
+ authenticate!
35
+
36
+ ExecJS.compile(script).exec('return days')
37
+ end
38
+
39
+ def companies
40
+ authenticate!
41
+
42
+ ExecJS.compile(script).exec('return companies')
43
+ end
44
+
45
+ def days_info
46
+ authenticate!
47
+
48
+ ExecJS.compile(script).exec('return daysInfo')
49
+ end
50
+
51
+ def script
52
+ @page.search('//script')[6].content
53
+ end
54
+
55
+ def load_month(date = Date.today)
56
+ authenticate!
57
+
58
+ url = MONTH_URL % { year: date.year, month: date.month}
59
+ @page = @agent.get(url)
60
+ end
61
+
62
+ def create_log(log)
63
+ authenticate!
64
+
65
+ @page = @agent.post CREATE_LOG_URL, log.to_json, {'accept' => 'application/json', 'Content-Type' => 'application/json'}
66
+ end
67
+
68
+ def authenticated?
69
+ @agent.cookies.any? { |c| c.name == 'PHPSESSID' }
70
+ end
71
+
72
+ def login_form_visible?
73
+ @page.content.match(/login_check/)
74
+ end
75
+
76
+ def load_credentials
77
+ @agent.cookie_jar.load(CREDENTIALS_FILE)
78
+ end
79
+
80
+ def authenticate!
81
+ raise "You need to login first" unless authenticated?
82
+ end
83
+ end
84
+ end
85
+
@@ -0,0 +1,28 @@
1
+ module SuperspeedCli
2
+ class Log
3
+ include Virtus.model
4
+
5
+ DATE_FORMAT = '%d-%m-%Y'
6
+
7
+ attribute :date, Date, default: Date.today
8
+ attribute :task, String, default: 'bot'
9
+ attribute :task_id, Integer
10
+ attribute :description, String
11
+ attribute :billingcode, Integer, default: 0
12
+ attribute :hours, Integer, default: 8
13
+
14
+ attr_accessor :date, :task, :description, :billingcode, :hours
15
+
16
+ def to_json
17
+ JSON.generate({
18
+ startDate: date.strftime(DATE_FORMAT),
19
+ endDate: date.strftime(DATE_FORMAT),
20
+ task: task,
21
+ taskId: task_id,
22
+ description: description,
23
+ billingcode: billingcode,
24
+ hours: hours
25
+ })
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,3 @@
1
+ module SuperspeedCli
2
+ VERSION = '0.0.1'
3
+ end
@@ -0,0 +1,29 @@
1
+ # Ensure we require the local version and not one we might have installed already
2
+ require File.join([File.dirname(__FILE__),'lib','superspeed-cli','version.rb'])
3
+ spec = Gem::Specification.new do |s|
4
+ s.name = 'superspeed-cli'
5
+ s.version = SuperspeedCli::VERSION
6
+ s.author = 'Your Name Here'
7
+ s.email = 'your@email.address.com'
8
+ s.homepage = 'http://your.website.com'
9
+ s.platform = Gem::Platform::RUBY
10
+ s.summary = 'A description of your project'
11
+ s.files = `git ls-files`.split("
12
+ ")
13
+ s.require_paths << 'lib'
14
+ s.has_rdoc = true
15
+ s.extra_rdoc_files = ['README.rdoc','superspeed-cli.rdoc']
16
+ s.rdoc_options << '--title' << 'superspeed-cli' << '--main' << 'README.rdoc' << '-ri'
17
+ s.bindir = 'bin'
18
+ s.executables << 'superspeed-cli'
19
+ s.add_development_dependency('rake')
20
+ s.add_development_dependency('rdoc')
21
+ s.add_development_dependency('aruba')
22
+ s.add_development_dependency('pry')
23
+ s.add_runtime_dependency('gli','2.13.1')
24
+ s.add_runtime_dependency('mechanize','2.7.3')
25
+ s.add_runtime_dependency('execjs','2.5.2')
26
+ s.add_runtime_dependency('virtus','1.0.1')
27
+ s.add_runtime_dependency('highline','1.7.2')
28
+ s.add_runtime_dependency('table_print','1.5.3')
29
+ end
@@ -0,0 +1,5 @@
1
+ = superspeed-cli
2
+
3
+ Generate this with
4
+ superspeed-cli rdoc
5
+ After you have described your command line interface
@@ -0,0 +1,14 @@
1
+ require 'test_helper'
2
+
3
+ class DefaultTest < Test::Unit::TestCase
4
+
5
+ def setup
6
+ end
7
+
8
+ def teardown
9
+ end
10
+
11
+ def test_the_truth
12
+ assert true
13
+ end
14
+ end
@@ -0,0 +1,9 @@
1
+ require 'test/unit'
2
+
3
+ # Add test libraries you want to use here, e.g. mocha
4
+
5
+ class Test::Unit::TestCase
6
+
7
+ # Add global extensions to the test case class here
8
+
9
+ end
metadata ADDED
@@ -0,0 +1,207 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: superspeed-cli
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Your Name Here
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-05-28 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rake
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rdoc
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: aruba
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: pry
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: gli
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '='
74
+ - !ruby/object:Gem::Version
75
+ version: 2.13.1
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '='
81
+ - !ruby/object:Gem::Version
82
+ version: 2.13.1
83
+ - !ruby/object:Gem::Dependency
84
+ name: mechanize
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '='
88
+ - !ruby/object:Gem::Version
89
+ version: 2.7.3
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '='
95
+ - !ruby/object:Gem::Version
96
+ version: 2.7.3
97
+ - !ruby/object:Gem::Dependency
98
+ name: execjs
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - '='
102
+ - !ruby/object:Gem::Version
103
+ version: 2.5.2
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - '='
109
+ - !ruby/object:Gem::Version
110
+ version: 2.5.2
111
+ - !ruby/object:Gem::Dependency
112
+ name: virtus
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - '='
116
+ - !ruby/object:Gem::Version
117
+ version: 1.0.1
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - '='
123
+ - !ruby/object:Gem::Version
124
+ version: 1.0.1
125
+ - !ruby/object:Gem::Dependency
126
+ name: highline
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - '='
130
+ - !ruby/object:Gem::Version
131
+ version: 1.7.2
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - '='
137
+ - !ruby/object:Gem::Version
138
+ version: 1.7.2
139
+ - !ruby/object:Gem::Dependency
140
+ name: table_print
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - '='
144
+ - !ruby/object:Gem::Version
145
+ version: 1.5.3
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - '='
151
+ - !ruby/object:Gem::Version
152
+ version: 1.5.3
153
+ description:
154
+ email: your@email.address.com
155
+ executables:
156
+ - superspeed-cli
157
+ extensions: []
158
+ extra_rdoc_files:
159
+ - README.rdoc
160
+ - superspeed-cli.rdoc
161
+ files:
162
+ - Gemfile
163
+ - Gemfile.lock
164
+ - README.rdoc
165
+ - Rakefile
166
+ - bin/superspeed-cli
167
+ - features/step_definitions/superspeed-cli_steps.rb
168
+ - features/superspeed-cli.feature
169
+ - features/support/env.rb
170
+ - lib/superspeed-cli.rb
171
+ - lib/superspeed-cli/app.rb
172
+ - lib/superspeed-cli/log.rb
173
+ - lib/superspeed-cli/version.rb
174
+ - superspeed-cli.gemspec
175
+ - superspeed-cli.rdoc
176
+ - test/default_test.rb
177
+ - test/test_helper.rb
178
+ homepage: http://your.website.com
179
+ licenses: []
180
+ metadata: {}
181
+ post_install_message:
182
+ rdoc_options:
183
+ - "--title"
184
+ - superspeed-cli
185
+ - "--main"
186
+ - README.rdoc
187
+ - "-ri"
188
+ require_paths:
189
+ - lib
190
+ - lib
191
+ required_ruby_version: !ruby/object:Gem::Requirement
192
+ requirements:
193
+ - - ">="
194
+ - !ruby/object:Gem::Version
195
+ version: '0'
196
+ required_rubygems_version: !ruby/object:Gem::Requirement
197
+ requirements:
198
+ - - ">="
199
+ - !ruby/object:Gem::Version
200
+ version: '0'
201
+ requirements: []
202
+ rubyforge_project:
203
+ rubygems_version: 2.4.7
204
+ signing_key:
205
+ specification_version: 4
206
+ summary: A description of your project
207
+ test_files: []