sourcerer_ 0.0.2.pre → 0.0.6.pre

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.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +1 -2
  3. data/lib/sourcerer/metadata.rb +1 -1
  4. metadata +28 -98
  5. data/spec/fixtures/i18n.yml +0 -5
  6. data/spec/fixtures/source.dir/bar/file.bar +0 -0
  7. data/spec/fixtures/source.dir/foo/file.foo +0 -0
  8. data/spec/fixtures/source.git/COMMIT_EDITMSG +0 -1
  9. data/spec/fixtures/source.git/HEAD +0 -1
  10. data/spec/fixtures/source.git/config +0 -7
  11. data/spec/fixtures/source.git/description +0 -1
  12. data/spec/fixtures/source.git/hooks/applypatch-msg.sample +0 -15
  13. data/spec/fixtures/source.git/hooks/commit-msg.sample +0 -24
  14. data/spec/fixtures/source.git/hooks/post-update.sample +0 -8
  15. data/spec/fixtures/source.git/hooks/pre-applypatch.sample +0 -14
  16. data/spec/fixtures/source.git/hooks/pre-commit.sample +0 -49
  17. data/spec/fixtures/source.git/hooks/pre-push.sample +0 -54
  18. data/spec/fixtures/source.git/hooks/pre-rebase.sample +0 -169
  19. data/spec/fixtures/source.git/hooks/prepare-commit-msg.sample +0 -36
  20. data/spec/fixtures/source.git/hooks/update.sample +0 -128
  21. data/spec/fixtures/source.git/index +0 -0
  22. data/spec/fixtures/source.git/info/exclude +0 -6
  23. data/spec/fixtures/source.git/logs/HEAD +0 -1
  24. data/spec/fixtures/source.git/logs/refs/heads/master +0 -1
  25. data/spec/fixtures/source.git/objects/35/d778d19cdf4fea30f1f8090d3167723b3421ec +0 -0
  26. data/spec/fixtures/source.git/objects/65/5cd0061e2c5fba07b5e38fbc6a8a752f0d8a8e +0 -0
  27. data/spec/fixtures/source.git/objects/92/469c6ba0e1585b36e474ef8e5dc069daa28842 +0 -0
  28. data/spec/fixtures/source.git/objects/c7/e09aa454d4e5b551131ed168bc5ba5d6169753 +0 -3
  29. data/spec/fixtures/source.git/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 +0 -0
  30. data/spec/fixtures/source.git/refs/heads/master +0 -1
  31. data/spec/fixtures/source.zip +0 -0
  32. data/spec/lib/sourcerer/core_spec.rb +0 -118
  33. data/spec/lib/sourcerer/error_spec.rb +0 -15
  34. data/spec/lib/sourcerer/source_type_spec.rb +0 -139
  35. data/spec/lib/sourcerer/source_types/dir_spec.rb +0 -2
  36. data/spec/lib/sourcerer/source_types/git_spec.rb +0 -26
  37. data/spec/lib/sourcerer/source_types/zip_spec.rb +0 -2
  38. data/spec/lib/sourcerer_spec.rb +0 -15
  39. data/spec/spec_helper.rb +0 -74
@@ -1,15 +0,0 @@
1
- describe Sourcerer::Error do
2
- before do
3
- @error_instance = Sourcerer::Error.allocate
4
- end
5
-
6
- describe '#initialize' do
7
- before do
8
- @error = @error_instance.send :initialize, 'foo.bar', foo: 'FOO', bar: 'BAR'
9
- end
10
-
11
- it 'should look up i18n values' do
12
- expect(@error).to eq 'This FOO is a BAR'
13
- end
14
- end
15
- end
@@ -1,139 +0,0 @@
1
- describe Sourcerer::SourceType do
2
- before do
3
- class Sourcerer::SourceType::Foo < Sourcerer::SourceType
4
- def move source, destination, options
5
- end
6
- end
7
-
8
- @foo_source_type = Sourcerer::SourceType::Foo.allocate
9
- end
10
-
11
- describe '#initialize' do
12
- it 'should call the move method on the source type instance' do
13
- allow(@foo_source_type).to receive(:move)
14
-
15
- @foo_source_type.send :initialize, 'source', 'destination', foo: 'foo'
16
-
17
- expect(@foo_source_type).to have_received(:move).with 'source', 'destination', foo: 'foo'
18
- end
19
-
20
- context 'when destination directory already exists' do
21
- it 'should raise an error' do
22
- allow(Dir).to receive(:exist?).and_return true
23
-
24
- expect{ @foo_source_type.send(:initialize, 'source', 'destination', foo: 'foo') }.to raise_error Sourcerer::Error
25
-
26
- allow(Dir).to receive(:exist?).and_call_original
27
- end
28
- end
29
- end
30
-
31
- describe '#files' do
32
- before do
33
- @foo_source_type.instance_variable_set :@destination, File.expand_path('spec/fixtures/source.dir')
34
- end
35
-
36
- context 'when relative is set to false' do
37
- context 'when :all' do
38
- it 'should return all files' do
39
- expect(@foo_source_type.files(:all, false)).to contain_exactly(
40
- File.expand_path('spec/fixtures/source.dir/bar/file.bar'),
41
- File.expand_path('spec/fixtures/source.dir/foo/file.foo'),
42
- File.expand_path('spec/fixtures/source.dir/.hidden_foo')
43
- )
44
- end
45
- end
46
-
47
- context 'when :hidden' do
48
- it 'should return only hidden files' do
49
- expect(@foo_source_type.files(:hidden, false)).to contain_exactly(
50
- File.expand_path('spec/fixtures/source.dir/.hidden_foo')
51
- )
52
- end
53
- end
54
-
55
- context 'when custom glob' do
56
- it 'should return matching files' do
57
- expect(@foo_source_type.files('**/file*', false)).to contain_exactly(
58
- File.expand_path('spec/fixtures/source.dir/bar/file.bar'),
59
- File.expand_path('spec/fixtures/source.dir/foo/file.foo')
60
- )
61
- end
62
-
63
- it 'should return matching files' do
64
- expect(@foo_source_type.files('**/*foo', false)).to contain_exactly(
65
- File.expand_path('spec/fixtures/source.dir/foo/file.foo'),
66
- File.expand_path('spec/fixtures/source.dir/.hidden_foo')
67
- )
68
- end
69
- end
70
- end
71
-
72
- context 'when relative is set to true' do
73
- context 'when :all' do
74
- it 'should return all files' do
75
- expect(@foo_source_type.files(:all, true)).to contain_exactly(
76
- 'bar/file.bar',
77
- 'foo/file.foo',
78
- '.hidden_foo'
79
- )
80
- end
81
- end
82
-
83
- context 'when :hidden' do
84
- it 'should return only hidden files' do
85
- expect(@foo_source_type.files(:hidden, true)).to contain_exactly(
86
- '.hidden_foo'
87
- )
88
- end
89
- end
90
-
91
- context 'when custom glob' do
92
- it 'should return matching files' do
93
- expect(@foo_source_type.files('**/file*', true)).to contain_exactly(
94
- 'bar/file.bar',
95
- 'foo/file.foo'
96
- )
97
- end
98
-
99
- it 'should return matching files' do
100
- expect(@foo_source_type.files('**/*foo', true)).to contain_exactly(
101
- 'foo/file.foo',
102
- '.hidden_foo'
103
- )
104
- end
105
- end
106
- end
107
- end
108
-
109
- # Test supported local source types
110
- # All sources must have the following structure
111
- # |_ bar
112
- # | |_ file.bar
113
- # |_ foo
114
- # | |_ file.foo
115
- # |_ .hidden_foo
116
- #
117
- describe 'supported local source types' do
118
- source_types = {
119
- dir: 'spec/fixtures/source.dir',
120
- git: 'spec/fixtures/source.git',
121
- zip: 'spec/fixtures/source.zip'
122
- }
123
-
124
- source_types.each do |type, source|
125
- describe "#{type} source from #{source}" do
126
- before do
127
- @tmp_dir = File.join Dir.mktmpdir, type.to_s
128
- @source_type = "Sourcerer::SourceType::#{type.to_s.classify}".constantize.new source, @tmp_dir, {}
129
- end
130
-
131
- it 'should copy files to the destination' do
132
- expect(File.exist?(File.join(@tmp_dir, 'bar', 'file.bar'))).to be true
133
- expect(File.exist?(File.join(@tmp_dir, 'foo', 'file.foo'))).to be true
134
- expect(File.exist?(File.join(@tmp_dir, '.hidden_foo'))).to be true
135
- end
136
- end
137
- end
138
- end
139
- end
@@ -1,2 +0,0 @@
1
- describe Sourcerer::SourceType::Dir do
2
- end
@@ -1,26 +0,0 @@
1
- describe Sourcerer::SourceType::Git do
2
- @repo_formats = [
3
- 'https://github.com/brewster1134/sourcerer.git',
4
- 'https://github.com/brewster1134/sourcerer',
5
- 'git@github.com:brewster1134/sourcerer.git',
6
- 'brewster1134/sourcerer'
7
- ]
8
-
9
- before do
10
- @source_type = Sourcerer::SourceType::Git.allocate
11
- end
12
-
13
- after do
14
- allow(Git).to receive(:clone).and_call_original
15
- end
16
-
17
- @repo_formats.each do |repo|
18
- it 'should handle different remote repo formats' do
19
- allow(Git).to receive(:clone)
20
-
21
- @source_type.move repo, 'destination', {}
22
-
23
- expect(Git).to have_received(:clone).with('https://github.com/brewster1134/sourcerer.git', 'destination')
24
- end
25
- end
26
- end
@@ -1,2 +0,0 @@
1
- describe Sourcerer::SourceType::Zip do
2
- end
@@ -1,15 +0,0 @@
1
- describe Sourcerer do
2
- before do
3
- allow(Sourcerer::Core).to receive(:new)
4
-
5
- @sourcerer = Sourcerer.new 'source', 'destination', foo: 'foo'
6
- end
7
-
8
- after do
9
- allow(Sourcerer::Core).to receive(:new).and_call_original
10
- end
11
-
12
- it 'should allow .new on namespace' do
13
- expect(Sourcerer::Core).to have_received(:new).with 'source', 'destination', foo: 'foo'
14
- end
15
- end
data/spec/spec_helper.rb DELETED
@@ -1,74 +0,0 @@
1
- require 'coveralls'
2
- Coveralls.wear!
3
- require 'sourcerer'
4
-
5
- I18n.load_path << File.expand_path(File.join('spec', 'fixtures', 'i18n.yml'))
6
- I18n.locale = 'spec'
7
- I18n.reload!
8
-
9
- def root *paths
10
- paths.unshift(File.expand_path(File.join(File.dirname(__FILE__), '..'))).compact.join '/'
11
- end
12
-
13
- # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
14
- RSpec.configure do |config|
15
- # The settings below are suggested to provide a good initial experience
16
- # with RSpec, but feel free to customize to your heart's content.
17
-
18
- # These two settings work together to allow you to limit a spec run
19
- # to individual examples or groups you care about by tagging them with
20
- # `:focus` metadata. When nothing is tagged with `:focus`, all examples
21
- # get run.
22
- config.filter_run :focus
23
- config.run_all_when_everything_filtered = true
24
-
25
- # Many RSpec users commonly either run the entire suite or an individual
26
- # file, and it's useful to allow more verbose output when running an
27
- # individual spec file.
28
- if config.files_to_run.one?
29
- # Use the documentation formatter for detailed output,
30
- # unless a formatter has already been configured
31
- # (e.g. via a command-line flag).
32
- config.default_formatter = 'doc'
33
- end
34
-
35
- # Print the 10 slowest examples and example groups at the
36
- # end of the spec run, to help surface which specs are running
37
- # particularly slow.
38
- config.profile_examples = 5
39
-
40
- # Run specs in random order to surface order dependencies. If you find an
41
- # order dependency and want to debug it, you can fix the order by providing
42
- # the seed, which is printed after each run.
43
- # --seed 1234
44
- config.order = :random
45
-
46
- # Seed global randomization in this process using the `--seed` CLI option.
47
- # Setting this allows you to use `--seed` to deterministically reproduce
48
- # test failures related to randomization by passing the same `--seed` value
49
- # as the one that triggered the failure.
50
- Kernel.srand config.seed
51
-
52
- # rspec-expectations config goes here. You can use an alternate
53
- # assertion/expectation library such as wrong or the stdlib/minitest
54
- # assertions if you prefer.
55
- config.expect_with :rspec do |expectations|
56
- # Enable only the newer, non-monkey-patching expect syntax.
57
- # For more details, see:
58
- # - http://myronmars.to/n/dev-blog/2012/06/rspecs-new-expectation-syntax
59
- expectations.syntax = :expect
60
- end
61
-
62
- # rspec-mocks config goes here. You can use an alternate test double
63
- # library (such as bogus or mocha) by changing the `mock_with` option here.
64
- config.mock_with :rspec do |mocks|
65
- # Enable only the newer, non-monkey-patching expect syntax.
66
- # For more details, see:
67
- # - http://teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/
68
- mocks.syntax = :expect
69
-
70
- # Prevents you from mocking or stubbing a method that does not exist on
71
- # a real object. This is generally recommended.
72
- mocks.verify_partial_doubles = true
73
- end
74
- end