Skip to content

Commit

Permalink
Narrow API of ruby project testing dsl
Browse files Browse the repository at this point in the history
  • Loading branch information
mainej committed Jan 11, 2015
1 parent 8c6ab62 commit 9c0f071
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 18 deletions.
3 changes: 1 addition & 2 deletions features/configure/assign_licenses_spec.rb
Expand Up @@ -9,8 +9,7 @@

specify "are shown in reports" do
project = user.create_ruby_app
project.create_gem 'mislicensed_dep', license: 'Unknown'
project.depend_on_local_gem('mislicensed_dep')
project.create_and_depend_on 'mislicensed_dep', license: 'Unknown'
user.execute_command 'license_finder licenses add mislicensed_dep Known'

user.run_license_finder
Expand Down
3 changes: 1 addition & 2 deletions features/configure/ignore_groups_spec.rb
Expand Up @@ -9,8 +9,7 @@

specify "are automatically approved" do
project = user.create_ruby_app
project.create_gem 'dev_gem', license: 'GPL'
project.depend_on_local_gem 'dev_gem', groups: ['dev']
project.create_and_depend_on 'dev_gem', { license: 'GPL' }, { groups: ['dev'] }
user.execute_command 'license_finder ignored_group add dev'

user.run_license_finder
Expand Down
3 changes: 1 addition & 2 deletions features/report/html_spec.rb
Expand Up @@ -19,8 +19,7 @@
}

project = user.create_ruby_app
project.create_gem(gem_name, gem_attributes)
project.depend_on_local_gem(gem_name, groups: [gem_group])
project.create_and_depend_on gem_name, gem_attributes, { groups: [gem_group] }

user.execute_command 'license_finder report --format html'

Expand Down
28 changes: 16 additions & 12 deletions features/support/testing_dsl.rb
Expand Up @@ -169,7 +169,7 @@ def activate
end

def add_dep
add_gem_dependency('license_finder', path: Paths.root.to_s)
add_to_bundler('license_finder', path: Paths.root.to_s)
end

def install
Expand All @@ -178,15 +178,13 @@ def install
end
end

def depend_on_local_gem(gem_name, options={})
gem_dir = Paths.projects.join(gem_name)
options[:path] = gem_dir.to_s

add_gem_dependency(gem_name, options)

install
def create_and_depend_on(gem_name, gem_spec_options = {}, bundler_options = {})
create_gem(gem_name, gem_spec_options)
depend_on_local_gem(gem_name, bundler_options)
end

private

def create_gem(gem_name, options)
gem_dir = Paths.projects.join(gem_name)

Expand All @@ -196,7 +194,14 @@ def create_gem(gem_name, options)
end
end

private
def depend_on_local_gem(gem_name, options={})
gem_dir = Paths.projects.join(gem_name)
options[:path] = gem_dir.to_s

add_to_bundler(gem_name, options)

install
end

def gemspec_string(gem_name, options)
if options.has_key?(:license) && options.has_key?(:licenses)
Expand All @@ -223,9 +228,8 @@ def gemspec_string(gem_name, options)
GEMSPEC
end

def add_gem_dependency(name, options = {})
line = "gem #{name.inspect}"
line << ", " + options.inspect unless options.empty?
def add_to_bundler(name, options = {})
line = "gem #{name.inspect}, #{options.inspect}"

Paths.add_to_file("Gemfile", line)
end
Expand Down

0 comments on commit 9c0f071

Please sign in to comment.