comfify 0.1.0 → 0.1.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0fd7377d074906553f0bad8c07eac43c54cb852c
4
- data.tar.gz: 5c749f278d9c81a67054fa6adce95846dbd89ac3
3
+ metadata.gz: 8b0e3b23b5610e03192a5af8e4ba9414cbe859ca
4
+ data.tar.gz: 7c7039796799edde8a3ac3e141b366a2dd5b07d1
5
5
  SHA512:
6
- metadata.gz: 2a0bbc2db412afad52a32a75a83e061f8d80c9f54d4b4b4ab1ffe6b6f108e812c132f3224a63e43d76efe0a13d9b363ad44095c3c7bb54a8387e7e8f10371ec6
7
- data.tar.gz: 78472cc95ad592449db3b4e4b2c03b7173a10c5114485ca148da4e50f29c6c9ab6f693720899a4acf2bf055a3359d436b5a0b6465266e0a5ca7aefa6445a2411
6
+ metadata.gz: 3de7e9cfa260032198728f7aa8b01880f74df12c428584d36d73b540d18c06079d30dd804175bba1e49eb00709d3b71420a432f837052ba98367ad2d39946652
7
+ data.tar.gz: e39bda769414b4ab461e0fbe38a76172fcb7535b37e46d1aea875eab0e710688bd90bd3ac5888f6c961f7dbaee877263fd4d25feaa1b47ffe4c2b425acc096ef
data/.gitignore CHANGED
@@ -7,3 +7,4 @@
7
7
  /pkg/
8
8
  /spec/reports/
9
9
  /tmp/
10
+ results.html
data/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # Comfify
2
2
 
3
+ [![Build Status](https://travis-ci.org/joelbyler/comfify.svg)](https://travis-ci.org/joelbyler/comfify)
4
+
3
5
  Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/comfify`. To experiment with that code, run `bin/console` for an interactive prompt.
4
6
 
5
7
  TODO: Delete this and the text above, and describe your gem
@@ -38,4 +40,3 @@ Bug reports and pull requests are welcome on GitHub at https://github.com/[USERN
38
40
  ## License
39
41
 
40
42
  The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
41
-
data/Rakefile CHANGED
@@ -4,6 +4,8 @@ require 'rubygems/package_task'
4
4
  require 'rdoc/task'
5
5
  require 'cucumber'
6
6
  require 'cucumber/rake/task'
7
+ require "bundler/gem_tasks"
8
+
7
9
  Rake::RDocTask.new do |rd|
8
10
  rd.main = "README.rdoc"
9
11
  rd.rdoc_files.include("README.rdoc","lib/**/*.rb","bin/**/*")
@@ -35,10 +37,9 @@ end
35
37
  task :cucumber => :features
36
38
  task 'cucumber:wip' => 'features:wip'
37
39
  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
40
 
44
- task :default => [:test,:features]
41
+ require "rspec/core/rake_task"
42
+
43
+ RSpec::Core::RakeTask.new(:spec)
44
+
45
+ task :default => [:spec,:features]
@@ -11,21 +11,13 @@ end
11
11
 
12
12
  include GLI::App
13
13
 
14
- program_desc 'Describe your application here'
14
+ program_desc 'a tool to help keep dotfiles in sync with other systems'
15
15
 
16
16
  version Comfify::VERSION
17
17
 
18
18
  subcommand_option_handling :normal
19
19
  arguments :strict
20
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
21
  pre do |global,command,options,args|
30
22
  # Pre logic here
31
23
  # Return true to proceed; false to abort and not call the
@@ -47,4 +39,24 @@ on_error do |exception|
47
39
  true
48
40
  end
49
41
 
42
+ desc 'create a new link for a directory to your home directory'
43
+ arg_name 'directory'
44
+ command :link do |c|
45
+ c.action do |global_options,options,args|
46
+ if File.file?(args.first)
47
+ puts "Linking file #{args.first}"
48
+ File.symlink(args.first, File.expand_path("#{Dir.home}/#{args.first}"), :force => true)
49
+ elsif File.directory?(args.first)
50
+ Dir.foreach(args.first) do |item|
51
+ unless item == "." || item == ".."
52
+ puts "Linking file #{item}"
53
+ File.symlink("#{args.first}/#{item}", File.expand_path("#{Dir.home}/#{item}"))
54
+ end
55
+ end
56
+ else
57
+ puts "Unable to locate the directory to link"
58
+ end
59
+ end
60
+ end
61
+
50
62
  exit run(ARGV)
Binary file
@@ -1,6 +1,6 @@
1
1
  # Ensure we require the local version and not one we might have installed already
2
2
  require File.join([File.dirname(__FILE__),'lib','comfify','version.rb'])
3
- spec = Gem::Specification.new do |s|
3
+ spec = Gem::Specification.new do |s|
4
4
  s.name = 'comfify'
5
5
  s.version = Comfify::VERSION
6
6
  s.author = 'Your Name Here'
@@ -18,6 +18,9 @@ spec = Gem::Specification.new do |s|
18
18
  s.executables << 'comfify'
19
19
  s.add_development_dependency('rake')
20
20
  s.add_development_dependency('rdoc')
21
+ s.add_development_dependency('rspec')
21
22
  s.add_development_dependency('aruba')
23
+ s.add_development_dependency('fakefs')
24
+ s.add_development_dependency('pry')
22
25
  s.add_runtime_dependency('gli','2.13.4')
23
26
  end
@@ -6,3 +6,15 @@ Feature: My bootstrapped app kinda works
6
6
  Scenario: App just runs
7
7
  When I get help for "comfify"
8
8
  Then the exit status should be 0
9
+
10
+ Scenario: Link a directory
11
+ Given a file named "foo/.foofiles/file1.txt" with:
12
+ """
13
+ Lorem ipsum dolor
14
+ """
15
+ When I link the "foo" directory with "comfify"
16
+ Then the exit status should be 0
17
+ And the output should contain:
18
+ """
19
+ Linking file .foofiles
20
+ """
@@ -3,4 +3,11 @@ When /^I get help for "([^"]*)"$/ do |app_name|
3
3
  step %(I run `#{app_name} help`)
4
4
  end
5
5
 
6
- # Add more step definitions here
6
+ Given(/^I have a directory "([^"]*)" that I want to link$/) do |dir_name|
7
+ FileUtils::mkdir_p("#{dir_name}/.somefilefoo")
8
+ end
9
+
10
+ When(/^I link the "([^"]*)" directory with "([^"]*)"$/) do |dir_name, app_name|
11
+ @app_name = app_name
12
+ step %(I run `#{app_name} link #{dir_name}`)
13
+ end
@@ -1,4 +1,5 @@
1
1
  require 'aruba/cucumber'
2
+ require 'pry'
2
3
 
3
4
  ENV['PATH'] = "#{File.expand_path(File.dirname(__FILE__) + '/../../bin')}#{File::PATH_SEPARATOR}#{ENV['PATH']}"
4
5
  LIB_DIR = File.join(File.expand_path(File.dirname(__FILE__)),'..','..','lib')
@@ -0,0 +1,5 @@
1
+ After do |s|
2
+
3
+ FileUtils.rm_rf("#{Dir.home}/.foofiles")
4
+
5
+ end
@@ -1,3 +1,3 @@
1
1
  module Comfify
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
@@ -1,11 +1,30 @@
1
1
  require 'spec_helper'
2
+ require 'fileutils'
3
+
4
+ describe Comfify, :type => :aruba do
5
+ include FakeFS::SpecHelpers
6
+ before(:each) do
7
+ puts 'running before'
8
+ begin
9
+ FileUtils.rm_rf("#{Dir.home}/.foo")
10
+ end
11
+ end
2
12
 
3
- describe Comfify do
4
13
  it 'has a version number' do
5
14
  expect(Comfify::VERSION).not_to be nil
6
15
  end
7
16
 
8
- it 'does something useful' do
9
- expect(false).to eq(true)
17
+ it 'creates a symlink' do
18
+ expect {
19
+ FileUtils::mkdir_p('foo/.foo')
20
+ }.to change {
21
+ Dir.exists?('foo/.foo')
22
+ }.from(false).to(true)
23
+
24
+ # expect {
25
+ # `bundle exec comfify link foo`
26
+ # }.to change {
27
+ # Dir.exists?("#{Dir.home}/.foo")
28
+ # }.from(false).to(true)
10
29
  end
11
30
  end
@@ -1,2 +1,19 @@
1
+ require 'pry'
2
+ require 'fakefs/spec_helpers'
3
+ require 'aruba/rspec'
4
+
1
5
  $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
2
6
  require 'comfify'
7
+ $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
8
+
9
+ if RUBY_VERSION < '1.9.3'
10
+ ::Dir.glob(::File.expand_path('../support/*.rb', __FILE__)).each { |f| require File.join(File.dirname(f), File.basename(f, '.rb')) }
11
+ ::Dir.glob(::File.expand_path('../support/**/*.rb', __FILE__)).each { |f| require File.join(File.dirname(f), File.basename(f, '.rb')) }
12
+ else
13
+ ::Dir.glob(::File.expand_path('../support/*.rb', __FILE__)).each { |f| require_relative f }
14
+ ::Dir.glob(::File.expand_path('../support/**/*.rb', __FILE__)).each { |f| require_relative f }
15
+ end
16
+
17
+ RSpec.configure do |config|
18
+ config.include FakeFS::SpecHelpers, fakefs: true
19
+ end
@@ -0,0 +1 @@
1
+ require 'aruba/rspec'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: comfify
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Your Name Here
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-12-17 00:00:00.000000000 Z
11
+ date: 2015-12-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
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'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: aruba
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -52,6 +66,34 @@ dependencies:
52
66
  - - ">="
53
67
  - !ruby/object:Gem::Version
54
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: fakefs
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: pry
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
55
97
  - !ruby/object:Gem::Dependency
56
98
  name: gli
57
99
  requirement: !ruby/object:Gem::Requirement
@@ -87,15 +129,18 @@ files:
87
129
  - bin/comfify
88
130
  - bin/console
89
131
  - bin/setup
132
+ - comfify-0.1.0.gem
90
133
  - comfify.gemspec
91
134
  - comfify.rdoc
92
135
  - features/comfify.feature
93
136
  - features/step_definitions/comfify_steps.rb
94
137
  - features/support/env.rb
138
+ - features/support/hooks.rb
95
139
  - lib/comfify.rb
96
140
  - lib/comfify/version.rb
97
141
  - spec/comfify_spec.rb
98
142
  - spec/spec_helper.rb
143
+ - spec/support/aruba.rb
99
144
  homepage: http://your.website.com
100
145
  licenses: []
101
146
  metadata: {}
@@ -121,7 +166,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
121
166
  version: '0'
122
167
  requirements: []
123
168
  rubyforge_project:
124
- rubygems_version: 2.4.6
169
+ rubygems_version: 2.4.8
125
170
  signing_key:
126
171
  specification_version: 4
127
172
  summary: A description of your project