superspeed-cli 0.0.1

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.
@@ -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: []