brewer 0.0.2 → 0.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: bec192aa1d499d22c0e81f2ac9567fd9bd3e8950
4
- data.tar.gz: a7d307169606bd5d8cdd61a403596dcf5c0629b7
3
+ metadata.gz: 2d88daa2b05ae2cddb6d24b618a3103d1e8a502d
4
+ data.tar.gz: 86e1736c126211cb33f1643ae149fba026eeead9
5
5
  SHA512:
6
- metadata.gz: e5d98e1706031f25def1c3172bd58d255b31743c498bb1f66ca5f28a8aa519da039144fe77b5bc100e51a012616b45c3bffd6a04a12c84a5e9fc32983236327f
7
- data.tar.gz: f71bb87645c0522889c0415579197b6404ba4fd587b27f8d5e4e4d3e042b96d4ecfa689c36d263dd17f00c455316d7acb6dfed12aec8e3a712a07aa723f512a7
6
+ metadata.gz: 026b2f1f15012d2112c486ecfdcf55ffc4346e6232aacef812d2023bca16e20059bab4d9cb83961272ede937d77210705daafe3cb296d3cd0e524505006b4921
7
+ data.tar.gz: aaf7bd2e189b348bda211f0327afee9911f8ff7152f5c962a3aba259435f2ebcc0938bc0bacdd313d79566d87b6348196ddfcf183fcc469f53e30c2893568bd2
data/Gemfile CHANGED
@@ -1,3 +1,15 @@
1
1
  source "https://rubygems.org"
2
2
 
3
- gemspec
3
+ gem 'ripl'
4
+ gem 'ripl-play'
5
+ gem 'ripl-multi_line'
6
+ gem 'git'
7
+
8
+ group :test do
9
+ gem 'rake'
10
+ gem 'test-unit'
11
+ gem 'launchy'
12
+ gem 'simplecov'
13
+ gem 'simplecov-html'
14
+ gem 'rdoc'
15
+ end
@@ -1,57 +1,46 @@
1
- PATH
2
- remote: .
3
- specs:
4
- brewer (0.0.10)
5
- git (~> 1.3, >= 1.3.0)
6
- ripl (~> 0.7.0)
7
-
8
1
  GEM
9
2
  remote: https://rubygems.org/
10
3
  specs:
11
4
  addressable (2.5.0)
12
5
  public_suffix (~> 2.0, >= 2.0.2)
13
6
  bond (0.5.1)
14
- diff-lcs (1.2.5)
15
7
  docile (1.1.5)
16
8
  git (1.3.0)
17
9
  json (2.0.3)
18
10
  launchy (2.4.3)
19
11
  addressable (~> 2.3)
12
+ power_assert (0.2.2)
20
13
  public_suffix (2.0.4)
21
14
  rake (12.0.0)
22
- rdoc (5.1.0)
15
+ rdoc (4.2.0)
23
16
  ripl (0.7.1)
24
17
  bond (~> 0.5.1)
25
- rspec (3.5.0)
26
- rspec-core (~> 3.5.0)
27
- rspec-expectations (~> 3.5.0)
28
- rspec-mocks (~> 3.5.0)
29
- rspec-core (3.5.4)
30
- rspec-support (~> 3.5.0)
31
- rspec-expectations (3.5.0)
32
- diff-lcs (>= 1.2.0, < 2.0)
33
- rspec-support (~> 3.5.0)
34
- rspec-mocks (3.5.0)
35
- diff-lcs (>= 1.2.0, < 2.0)
36
- rspec-support (~> 3.5.0)
37
- rspec-support (3.5.0)
18
+ ripl-multi_line (0.3.1)
19
+ ripl (>= 0.3.6)
20
+ ripl-play (0.2.1)
21
+ ripl (>= 0.3.0)
38
22
  simplecov (0.13.0)
39
23
  docile (~> 1.1.0)
40
24
  json (>= 1.8, < 3)
41
25
  simplecov-html (~> 0.10.0)
42
26
  simplecov-html (0.10.0)
27
+ test-unit (3.0.8)
28
+ power_assert
43
29
 
44
30
  PLATFORMS
45
31
  ruby
46
32
 
47
33
  DEPENDENCIES
48
- brewer!
49
- launchy (~> 2.4, >= 2.4.0)
50
- rake (~> 12.0, >= 12.0.0)
51
- rdoc (~> 5.1, >= 5.1.0)
52
- rspec (~> 3.5.0, >= 3.5.0)
53
- simplecov (~> 0.13.0)
54
- simplecov-html (~> 0.10.0)
34
+ git
35
+ launchy
36
+ rake
37
+ rdoc
38
+ ripl
39
+ ripl-multi_line
40
+ ripl-play
41
+ simplecov
42
+ simplecov-html
43
+ test-unit
55
44
 
56
45
  BUNDLED WITH
57
46
  1.12.5
data/README.md CHANGED
@@ -4,21 +4,64 @@
4
4
  # Disclaimer
5
5
  This is just an API to make adaptibrew more user friendly. It will provide a clean shell and easy to understand methods for all the actions you need to control your brew rig. This will require an actual brew rig and all the equipment listed in [adaptiman/adaptibrew](https://github.com/adaptiman/adaptibrew). If you are looking to build an automated brew rig, **this is not the place to start**. Head over to [adaptiman/adaptibrew](https://github.com/adaptiman/adaptibrew), or hit up [adaptiman](https://github.com/adaptiman).
6
6
 
7
- # Installation
8
- This package is a weird half-breed Frankenstein's monster type of thing. You can install it as a gem with
7
+ # Running
8
+ You'll need Ruby installed of course.
9
+
10
+ First, you need to install missing gems. To do that, run
9
11
  ```shell
10
- gem install brewer
12
+ bundle install
11
13
  ```
12
- and `require 'brewer'` in your ruby code, or run
14
+ from inside the root directory. If there are any errors, bundler will probably tell you how to solve them. Otherwise, gg wp.
15
+
16
+ To initialize, run
13
17
  ```shell
14
18
  brewer
15
19
  ```
16
- to open an interactive shell to control your brew rig in realtime. Fancy.
20
+ from inside the root directory. This will open up a Ripl shell. It looks like this:
21
+ ```shell
22
+ >>
23
+ ```
17
24
 
18
- # Documentation
19
- **Warning: RDoc may have a seizure when encountering Gemfiles, Rakefiles, etc. Basically files that don't end in `.rb` but have ruby syntax. Docs will be a bit weird on those files. I suggest just reading the comments in source.**
20
- Documentation is in `doc/` or on rubygems.org
25
+ **If that doesn't work**, the `brewer` file might not be executable. Run
26
+ ```shell
27
+ sudo chmod +x brewer
28
+ ```
29
+ to make it executable and try again.
30
+
31
+ # Testing & Rake
32
+ Run
33
+ ```shell
34
+ rake test
35
+ ```
36
+ to run all tests. You can run a specific test case with
37
+ ```shell
38
+ rake test['adaptibrew']
39
+ ```
40
+ This will run `tests/tc_adaptibrew.rb`. You can of course change `adaptibrew` to another `tc_*.rb` in order to run specific test cases.
21
41
 
42
+ A code coverage report will be created in `coverage/` upon testing. Checkout `coverage/index.html` to view the report. You can also run
43
+ ```shell
44
+ rake coverage
45
+ ```
46
+ to see the coverage report.
22
47
 
48
+ ## Other rake commands
23
49
 
24
- for build triggers, please ignore
50
+ Delete, clone, or refresh (delete and re-clone), with
51
+ ```shell
52
+ rake adaptibrew['clear']
53
+ rake adaptibrew['clone']
54
+ rake adaptibrew['refresh']
55
+ ```
56
+ # Documentation
57
+ **Warning: RDoc have a seizure when encountering Gemfiles, Rakefiles, etc. Basically files that don't end in `.rb` but have ruby syntax. Docs will be a bit weird on those files. I suggest just reading the comments in source.**
58
+
59
+ Run
60
+ ```shell
61
+ rdoc
62
+ ```
63
+ to generate/update documentation, and run
64
+ ```shell
65
+ rake docs
66
+ ```
67
+ to open documentation.
data/Rakefile CHANGED
@@ -1,15 +1,18 @@
1
1
  require 'git'
2
2
  require 'launchy'
3
3
  require 'rdoc/task'
4
- require 'rspec/core/rake_task'
5
4
 
6
- task default: %w[spec]
5
+ task default: %w[test]
7
6
 
8
7
  # Unit testing
9
8
  # You can specify a specific test case to use
10
9
  # Ex: rake test['brewer']
11
- task :spec, [:tc] do |t, tc|
12
- RSpec::Core::RakeTask.new(:spec)
10
+ task :test, [:tc] do |t, tc|
11
+ if tc.to_a.any?
12
+ ruby "tests/tc_#{tc.to_a[0]}.rb"
13
+ else
14
+ ruby "tests/ts_all.rb"
15
+ end
13
16
  end
14
17
 
15
18
  # Opens code coverage in your browser
data/bin/brewer CHANGED
@@ -1,20 +1,17 @@
1
1
  #!/usr/bin/env ruby
2
- # 🍺🍺🍺
3
- # This executable will start a Ripl shell with a 'brewer' and 'adaptibrew' objects
4
-
2
+ # This script will initialize a Ripl shell with a brewer instantiated
5
3
  require 'ripl'
6
4
 
5
+ # pull in our lib
7
6
  require_relative "../lib/brewer"
8
7
 
9
- # Refresh to make sure we have the lastest version of adaptibrew
10
- adaptibrew = Adaptibrew.new.refresh
8
+ # Clone the repo
9
+ adaptibrew = Adaptibrew.new
10
+ adaptibrew.clone
11
11
 
12
+ # Start up a brewer
12
13
  brewer = Brewer.new
13
14
 
14
- puts "Warning: Adaptibrew has been cloned into the directory you executed 'brewer'"
15
- puts "You may wish to delete it when you are finished. Do that with `adaptibrew.clear`"
16
- puts "🍺 have fun 🍺"
17
-
18
- # 🍺🍺🍺
15
+ # Start the ripl shell
19
16
  Ripl.start :binding => binding
20
- # 🍺🍺🍺
17
+ # Start brewing
@@ -2,32 +2,21 @@ require 'rake'
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "brewer"
5
- s.version = "0.0.2"
5
+ s.version = "0.0.4"
6
6
  s.default_executable = "brewer"
7
7
 
8
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
9
  s.authors = ["Luke Sweeney"]
9
10
  s.date = %q{2017-03-08}
10
11
  s.description = %q{A Ruby API for adaptiman/adaptibrew}
11
12
  s.email = %q{luke@thesweeneys.org}
12
- s.files = FileList.new(['lib/*.rb', 'bin/*', '[A-Z]*', 'spec/*.rb']).to_a
13
+ s.files = FileList.new(['lib/*.rb', 'bin/*', '[A-Z]*', 'tests/*.rb']).to_a
13
14
  s.executables = ['brewer']
14
15
  s.bindir = 'bin'
15
- s.test_files = FileList.new(["spec/*.rb"]).to_a
16
- s.homepage = %q{http://github.com/llamicron/brewer}
16
+ s.test_files = FileList.new(["tests/*.rb"]).to_a
17
+ s.homepage = %q{http://github.com/llamicron/ruby_brewer}
17
18
  s.require_paths = ["lib", "lib"]
18
19
  s.rubygems_version = %q{1.6.2}
19
20
  s.summary = %q{A shell interface for adaptibrew}
20
21
  s.license = 'MIT'
21
-
22
- # Runtime dependencies
23
- s.add_runtime_dependency 'git', '~> 1.3', '>= 1.3.0'
24
- s.add_runtime_dependency 'ripl', '~> 0.7.0'
25
-
26
- # Dev dependencies
27
- s.add_development_dependency 'rake', '~> 12.0', '>= 12.0.0'
28
- s.add_development_dependency 'rspec', '~> 3.5.0', '>= 3.5.0'
29
- s.add_development_dependency 'launchy', '~> 2.4', '>= 2.4.0'
30
- s.add_development_dependency 'simplecov', '~> 0.13.0'
31
- s.add_development_dependency 'simplecov-html', '~> 0.10.0'
32
- s.add_development_dependency 'rdoc', '~> 5.1', '>= 5.1.0'
33
22
  end
@@ -4,7 +4,6 @@ require 'fileutils'
4
4
  # This is the 'manager' for the adaptibrew repo. It handles cloning and such.
5
5
  class Adaptibrew
6
6
 
7
- # If used in IRB, Ripl, etc. it will clone into the directory IRB was started in
8
7
  def clone(path=nil)
9
8
  if !Dir.exists?('adaptibrew')
10
9
  Git.clone('https://github.com/adaptiman/adaptibrew.git', 'adaptibrew', :path => path)
@@ -13,11 +12,13 @@ class Adaptibrew
13
12
  end
14
13
 
15
14
  # Danger zone...
16
- def clear()
17
- FileUtils.rm_rf('adaptibrew')
15
+ def clear(dir='adaptibrew')
16
+ raise 'Warning! This will delete a directory other than the `adaptibrew` directory' unless dir.include? 'adaptibrew'
17
+ FileUtils.rm_rf(dir)
18
18
  self
19
19
  end
20
20
 
21
+ # This can also serve as an update method
21
22
  def refresh
22
23
  clear
23
24
  clone
@@ -1,38 +1,45 @@
1
+ require 'date'
1
2
  require_relative 'helpers'
2
3
  require_relative 'adaptibrew'
3
4
 
4
5
  include Helpers
5
6
 
7
+ # This is the main brewer class.
8
+ # This contains all the methods needed to control a brew rig
9
+ # setup with adaptiman/adaptibrew.
6
10
  class Brewer
7
11
 
12
+ # Path to the gem root
8
13
  attr_reader :base_path
9
- attr_accessor :out, :log
14
+
15
+ # Output of adaptibrew
16
+ attr_accessor :out
10
17
 
11
18
  def initialize
12
- @base_path = Dir.pwd
13
- # Output of adaptibrew
14
- @out = []
15
- @log = @base_path + '/logs/output'
19
+ @base_path = Dir.pwd # Path of the package
20
+ @out = [] # Output from adaptibrew
21
+ @log = @base_path + '/logs/output' # Log file for @out. Everything in the log file will be from @out.
16
22
  end
17
23
 
18
24
  public
19
25
 
26
+ # Waits for `time` seconds. Pretty simple stuff.
20
27
  def wait(time=30)
28
+ puts "Waiting for #{time} seconds"
21
29
  sleep(time)
22
30
  self
23
31
  end
24
32
 
25
33
  # Runs an adaptibrew script
26
- # Output will be stored in @out
34
+ # Output will be stored in `@out'
27
35
  def script(script, params=nil)
28
36
  @out.unshift(`python #{@base_path}/adaptibrew/#{script}.py #{params}`.chomp)
29
37
  self
30
38
  end
31
39
 
32
- # Clears the @out array
33
- # Writes current @out to log
34
- # This is why the prod log is changed when tests are run
40
+ # Clears the `@out` array
35
41
  def clear
42
+ # Write current `@out` to log
36
43
  write_log(@log, @out)
37
44
  @out = []
38
45
  self
@@ -1,18 +1,24 @@
1
1
  module Helpers
2
2
 
3
+ # Returns the default location for the log file.
4
+ # A different log file is used for testing
3
5
  def log
4
6
  Dir.pwd + '/logs/output'
5
7
  end
6
8
 
9
+ # Gets the current date and time
7
10
  # Formatted as: 03/07/2017 14:26
8
11
  def time
9
12
  Time.now.strftime("%m/%d/%Y %H:%M")
10
13
  end
11
14
 
15
+ # Truncates the entire log
12
16
  def clear_log(log)
13
17
  File.truncate(log, 0)
14
18
  end
15
19
 
20
+ # Writes each `line` element to `logs/output` with a timestamp. Example:
21
+ # [03/07/2017 14:27]: it worked
16
22
  def write_log(log, lines)
17
23
  File.open(log, 'a') do |file|
18
24
  lines.each do |line|
@@ -0,0 +1,26 @@
1
+ require 'test/unit'
2
+ require_relative '../lib/adaptibrew'
3
+
4
+ class TestGit < Test::Unit::TestCase
5
+
6
+ def setup
7
+ @adaptibrew = Adaptibrew.new
8
+ end
9
+
10
+ # `refresh` calls both `clone` and `clear`. oh that sweet, sweet code coverage
11
+ def test_refresh
12
+ @adaptibrew.refresh
13
+ assert_true(Dir.exists?('adaptibrew'))
14
+ end
15
+
16
+ # Testing a not-so-failed case of cloning
17
+ def test_clone_will_skip_if_repo_present
18
+ @adaptibrew.refresh
19
+ assert_equal(@adaptibrew, @adaptibrew.clone)
20
+ end
21
+
22
+ def teardown
23
+ @adaptibrew.refresh
24
+ end
25
+
26
+ end
@@ -0,0 +1,41 @@
1
+ require 'test/unit'
2
+ require_relative '../lib/brewer'
3
+ require_relative '../lib/adaptibrew'
4
+
5
+ class TestBrewer < Test::Unit::TestCase
6
+
7
+ def setup
8
+ @brewer = Brewer.new
9
+ @adaptibrew = Adaptibrew.new.refresh
10
+ # This is used for log testing, not logging tests see `test_log_methods`
11
+ @log = @brewer.base_path + '/logs/test_output'
12
+ end
13
+
14
+ # Make sure that the path is correct. I hate working with paths.
15
+ # TODO: Test this on windows
16
+ def test_base_path
17
+ assert_equal(Dir.pwd, @brewer.base_path)
18
+ end
19
+
20
+ # Don't really know how to test this one...
21
+ # Just running the code for coverage and to pick up any stray errors
22
+ def test_wait
23
+ @brewer.wait(0.1)
24
+ assert_true(true)
25
+ end
26
+
27
+ def test_script_and_output
28
+ @brewer.script('python_tester')
29
+ assert_equal("it worked", @brewer.out.first)
30
+ end
31
+
32
+ # Tests if the adaptibrew output (@brewer.out) can be cleared.
33
+ # This invloves writing to the log file
34
+ def test_clear_output
35
+ @brewer.script('python_tester')
36
+ assert_equal("it worked", @brewer.out.first)
37
+ @brewer.clear
38
+ assert_equal(nil, @brewer.out.first)
39
+ end
40
+
41
+ end
@@ -0,0 +1,43 @@
1
+ require 'test/unit'
2
+
3
+ require_relative '../lib/helpers'
4
+
5
+ class TestHelpers < Test::Unit::TestCase
6
+
7
+ def setup
8
+ @brewer = Brewer.new
9
+ # See comment on `test_log`
10
+ @log = @brewer.base_path + '/logs/test_output'
11
+
12
+ clear_log(@log)
13
+ end
14
+
15
+ def test_time
16
+ assert_equal(String, time.class)
17
+ end
18
+
19
+ def test_log
20
+ # This will give us the actual log i.e. '/logs/output'
21
+ # For tests we use 'logs/test_output', which is why we have the
22
+ # @log = @brewer.base_path + '/logs/test_output'
23
+ # line
24
+ assert_equal(String, log.class)
25
+ end
26
+
27
+ def test_log_methods
28
+ # Clear adaptibrew ouput from brewer
29
+ @brewer.clear
30
+
31
+ clear_log(@log)
32
+ assert_true(File.zero?(@log))
33
+
34
+ # Get some output
35
+ @brewer.script('python_tester')
36
+ assert_true(@brewer.out.any?)
37
+
38
+ # Write output
39
+ write_log(@log, @brewer.out)
40
+ assert_true(!File.zero?(@log))
41
+ end
42
+
43
+ end
@@ -0,0 +1,15 @@
1
+ # Code Coverage
2
+ require 'simplecov'
3
+ SimpleCov.command_name 'Unit Tests'
4
+ SimpleCov.start
5
+
6
+ require_relative '../lib/helpers'
7
+ include Helpers
8
+
9
+ # Test Framework
10
+ require 'test/unit'
11
+
12
+ # Test Cases
13
+ require_relative 'tc_adaptibrew'
14
+ require_relative 'tc_brewer'
15
+ require_relative 'tc_helpers'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: brewer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Luke Sweeney
@@ -9,149 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
  date: 2017-03-08 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: git
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '1.3'
20
- - - ">="
21
- - !ruby/object:Gem::Version
22
- version: 1.3.0
23
- type: :runtime
24
- prerelease: false
25
- version_requirements: !ruby/object:Gem::Requirement
26
- requirements:
27
- - - "~>"
28
- - !ruby/object:Gem::Version
29
- version: '1.3'
30
- - - ">="
31
- - !ruby/object:Gem::Version
32
- version: 1.3.0
33
- - !ruby/object:Gem::Dependency
34
- name: ripl
35
- requirement: !ruby/object:Gem::Requirement
36
- requirements:
37
- - - "~>"
38
- - !ruby/object:Gem::Version
39
- version: 0.7.0
40
- type: :runtime
41
- prerelease: false
42
- version_requirements: !ruby/object:Gem::Requirement
43
- requirements:
44
- - - "~>"
45
- - !ruby/object:Gem::Version
46
- version: 0.7.0
47
- - !ruby/object:Gem::Dependency
48
- name: rake
49
- requirement: !ruby/object:Gem::Requirement
50
- requirements:
51
- - - "~>"
52
- - !ruby/object:Gem::Version
53
- version: '12.0'
54
- - - ">="
55
- - !ruby/object:Gem::Version
56
- version: 12.0.0
57
- type: :development
58
- prerelease: false
59
- version_requirements: !ruby/object:Gem::Requirement
60
- requirements:
61
- - - "~>"
62
- - !ruby/object:Gem::Version
63
- version: '12.0'
64
- - - ">="
65
- - !ruby/object:Gem::Version
66
- version: 12.0.0
67
- - !ruby/object:Gem::Dependency
68
- name: rspec
69
- requirement: !ruby/object:Gem::Requirement
70
- requirements:
71
- - - "~>"
72
- - !ruby/object:Gem::Version
73
- version: 3.5.0
74
- - - ">="
75
- - !ruby/object:Gem::Version
76
- version: 3.5.0
77
- type: :development
78
- prerelease: false
79
- version_requirements: !ruby/object:Gem::Requirement
80
- requirements:
81
- - - "~>"
82
- - !ruby/object:Gem::Version
83
- version: 3.5.0
84
- - - ">="
85
- - !ruby/object:Gem::Version
86
- version: 3.5.0
87
- - !ruby/object:Gem::Dependency
88
- name: launchy
89
- requirement: !ruby/object:Gem::Requirement
90
- requirements:
91
- - - "~>"
92
- - !ruby/object:Gem::Version
93
- version: '2.4'
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: 2.4.0
97
- type: :development
98
- prerelease: false
99
- version_requirements: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - "~>"
102
- - !ruby/object:Gem::Version
103
- version: '2.4'
104
- - - ">="
105
- - !ruby/object:Gem::Version
106
- version: 2.4.0
107
- - !ruby/object:Gem::Dependency
108
- name: simplecov
109
- requirement: !ruby/object:Gem::Requirement
110
- requirements:
111
- - - "~>"
112
- - !ruby/object:Gem::Version
113
- version: 0.13.0
114
- type: :development
115
- prerelease: false
116
- version_requirements: !ruby/object:Gem::Requirement
117
- requirements:
118
- - - "~>"
119
- - !ruby/object:Gem::Version
120
- version: 0.13.0
121
- - !ruby/object:Gem::Dependency
122
- name: simplecov-html
123
- requirement: !ruby/object:Gem::Requirement
124
- requirements:
125
- - - "~>"
126
- - !ruby/object:Gem::Version
127
- version: 0.10.0
128
- type: :development
129
- prerelease: false
130
- version_requirements: !ruby/object:Gem::Requirement
131
- requirements:
132
- - - "~>"
133
- - !ruby/object:Gem::Version
134
- version: 0.10.0
135
- - !ruby/object:Gem::Dependency
136
- name: rdoc
137
- requirement: !ruby/object:Gem::Requirement
138
- requirements:
139
- - - "~>"
140
- - !ruby/object:Gem::Version
141
- version: '5.1'
142
- - - ">="
143
- - !ruby/object:Gem::Version
144
- version: 5.1.0
145
- type: :development
146
- prerelease: false
147
- version_requirements: !ruby/object:Gem::Requirement
148
- requirements:
149
- - - "~>"
150
- - !ruby/object:Gem::Version
151
- version: '5.1'
152
- - - ">="
153
- - !ruby/object:Gem::Version
154
- version: 5.1.0
12
+ dependencies: []
155
13
  description: A Ruby API for adaptiman/adaptibrew
156
14
  email: luke@thesweeneys.org
157
15
  executables:
@@ -168,11 +26,11 @@ files:
168
26
  - lib/adaptibrew.rb
169
27
  - lib/brewer.rb
170
28
  - lib/helpers.rb
171
- - spec/adaptibrew_spec.rb
172
- - spec/brewer_spec.rb
173
- - spec/helpers_spec.rb
174
- - spec/spec_helper.rb
175
- homepage: http://github.com/llamicron/brewer
29
+ - tests/tc_adaptibrew.rb
30
+ - tests/tc_brewer.rb
31
+ - tests/tc_helpers.rb
32
+ - tests/ts_all.rb
33
+ homepage: http://github.com/llamicron/ruby_brewer
176
34
  licenses:
177
35
  - MIT
178
36
  metadata: {}
@@ -198,7 +56,7 @@ signing_key:
198
56
  specification_version: 4
199
57
  summary: A shell interface for adaptibrew
200
58
  test_files:
201
- - spec/adaptibrew_spec.rb
202
- - spec/brewer_spec.rb
203
- - spec/helpers_spec.rb
204
- - spec/spec_helper.rb
59
+ - tests/tc_adaptibrew.rb
60
+ - tests/tc_brewer.rb
61
+ - tests/tc_helpers.rb
62
+ - tests/ts_all.rb
@@ -1,71 +0,0 @@
1
- require_relative 'spec_helper'
2
-
3
- describe Adaptibrew do
4
-
5
- before :each do
6
- @adaptibrew = Adaptibrew.new.refresh
7
- end
8
-
9
- describe "#new" do
10
- specify { expect(@adaptibrew).to be_an_instance_of Adaptibrew }
11
- end
12
-
13
- describe ".clear" do
14
- context "when the repo already exists" do
15
- specify { expect(Dir.exists?('adaptibrew')).to be true }
16
-
17
- it "deletes the repo" do
18
- @adaptibrew.clear
19
- expect(Dir.exists?('adaptibrew')).to be false
20
- end
21
- end
22
-
23
- context "when the repo does not exist" do
24
- let(:adaptibrew) { Adaptibrew.new }
25
- before { adaptibrew.clear }
26
- specify { expect(Dir.exists?('adaptibrew')).to be false }
27
-
28
- it "does nothing" do
29
- @adaptibrew.clear
30
- expect(Dir.exists?('adaptibrew')).to be false
31
- end
32
- end
33
-
34
- end
35
-
36
- describe ".clone" do
37
- context "when the repo does not exist" do
38
- let(:adaptibrew) { Adaptibrew.new }
39
- before { adaptibrew.clear }
40
- specify { expect(Dir.exists?('adaptibrew')).to be false }
41
-
42
- it "clones the repo" do
43
- @adaptibrew.clone
44
- expect(Dir.exists?('adaptibrew')).to be true
45
- end
46
- end
47
-
48
- context "when the repo exists" do
49
- let(:adaptibrew) { Adaptibrew.new }
50
- before { adaptibrew.clone }
51
- specify { expect(Dir.exists?('adaptibrew')).to be true }
52
-
53
- it "does nothing" do
54
- @adaptibrew.clone
55
- expect(Dir.exists?('adaptibrew')).to be true
56
- end
57
- end
58
-
59
- end
60
-
61
- describe ".refresh" do
62
- let(:adaptibrew) { Adaptibrew.new }
63
- before { adaptibrew.refresh }
64
- it "clears and clones the repo" do # regardless of wether or not it's there
65
- expect(Dir.exists?('adaptibrew')).to be true
66
- @adaptibrew.refresh
67
- expect(Dir.exists?('adaptibrew')).to be true
68
- end
69
- end
70
-
71
- end
@@ -1,46 +0,0 @@
1
- require_relative 'spec_helper'
2
-
3
- describe Brewer do
4
-
5
- before :each do
6
- @brewer = Brewer.new
7
- end
8
-
9
- describe "#new" do
10
- it "returns a brewer object" do
11
- expect(@brewer).to be_an_instance_of Brewer
12
- end
13
- end
14
-
15
- describe ".wait" do
16
- # This is kind of iffy like the Helpers#time test
17
- it "can wait for a number of seconds" do
18
- # not using let(:current_time) etc. because
19
- # the var is created upon the first calling, which is in the expect()
20
- current_time = Time.now.to_i
21
- @brewer.wait(1)
22
- expect(current_time + 1).to eq(Time.now.to_i)
23
- end
24
- end
25
-
26
- describe ".script" do
27
- it "can run a python script and get output" do
28
- @brewer.script('python_tester')
29
- expect(@brewer.out.first).to eq("it worked")
30
- end
31
- end
32
-
33
- describe ".clear" do
34
- context "when there is output" do
35
- let(:brewer) { Brewer.new }
36
- before { brewer.script('python_tester') }
37
- specify { expect(brewer.out.first).to eq("it worked") }
38
-
39
- it "can clear the output" do
40
- @brewer.clear
41
- expect(@brewer.out).to be_empty
42
- end
43
- end
44
- end
45
-
46
- end
@@ -1,36 +0,0 @@
1
- require_relative 'spec_helper'
2
-
3
- include Helpers
4
-
5
- describe "Helpers" do
6
-
7
- it "returns the log file path" do
8
- expect(log).to eq(Dir.pwd + '/logs/output')
9
- end
10
-
11
- it "can return the date/time" do
12
- # This might not be consistent???
13
- # What if the minute changes during tests?
14
- # dunno lol
15
- expect(time).to eq(Time.now.strftime("%m/%d/%Y %H:%M"))
16
- end
17
-
18
- context "when the log is empty" do
19
- before { clear_log(log) }
20
- specify { expect(File.zero?(log)).to be true }
21
- it "can write to the log" do
22
- write_log(log, ['log entry'])
23
- expect(File.zero?(log)).to be false
24
- end
25
- end
26
-
27
- context "when the log is not empty" do
28
- write_log(log, ['log entry'])
29
- specify { expect(File.zero?(log)).to be false }
30
- it "can clear the log" do
31
- clear_log(log)
32
- expect(File.zero?(log)).to be true
33
- end
34
- end
35
-
36
- end
@@ -1,10 +0,0 @@
1
- # This is the helper file for rspec
2
- # For the spec of helpers.rb, see helper_spec.b
3
- # Code Coverage
4
- require 'simplecov'
5
- SimpleCov.command_name 'RSpec'
6
- SimpleCov.start
7
-
8
- require_relative '../lib/adaptibrew.rb'
9
- require_relative '../lib/brewer.rb'
10
- require_relative '../lib/helpers.rb'