comfify 0.1.0 → 0.1.1

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: 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