From 1e39c49ff5314b1d2fbd64a99c358e545d87f29a Mon Sep 17 00:00:00 2001 From: Piotr Solnica Date: Mon, 29 Jul 2013 01:07:13 -0700 Subject: [PATCH] Add rubocop and update code to match the style rules --- Gemfile | 11 +++-- Guardfile | 6 +++ config/rubocop.yml | 45 ++++++++++++++++++ lib/rom-relation.rb | 4 +- lib/rom/environment.rb | 8 +++- lib/rom/relation.rb | 4 +- lib/rom/repository.rb | 2 + lib/rom/schema.rb | 2 + lib/rom/schema/definition.rb | 2 + lib/rom/schema/definition/relation.rb | 4 +- lib/rom/schema/definition/relation/base.rb | 2 + lib/rom/support/axiom/adapter.rb | 8 +++- lib/rom/support/axiom/adapter/data_objects.rb | 2 + lib/rom/support/axiom/adapter/memory.rb | 2 + lib/rom/support/axiom/adapter/postgres.rb | 2 + lib/rom/support/axiom/adapter/sqlite3.rb | 2 + lib/rom/version.rb | 2 + spec/integration/environment_setup_spec.rb | 4 +- spec/integration/schema_definition_spec.rb | 46 +++++++++++++++---- .../working_with_relations_spec.rb | 18 ++++++-- spec/shared/unit/environment_context.rb | 4 +- spec/shared/unit/relation_context.rb | 4 ++ spec/spec_helper.rb | 2 +- spec/support/helper.rb | 31 +------------ spec/support/test_mapper.rb | 4 +- .../environment/class_methods/coerce_spec.rb | 8 ++-- .../rom/environment/element_reader_spec.rb | 6 ++- spec/unit/rom/relation/all_spec.rb | 6 ++- spec/unit/rom/relation/delete_spec.rb | 2 + spec/unit/rom/relation/drop_spec.rb | 2 + spec/unit/rom/relation/first_spec.rb | 4 +- spec/unit/rom/relation/inject_mapper_spec.rb | 2 + spec/unit/rom/relation/insert_spec.rb | 4 +- spec/unit/rom/relation/last_spec.rb | 4 +- spec/unit/rom/relation/one_spec.rb | 6 ++- spec/unit/rom/relation/replace_spec.rb | 2 + spec/unit/rom/relation/restrict_spec.rb | 4 +- spec/unit/rom/relation/sort_by_spec.rb | 4 +- spec/unit/rom/relation/take_spec.rb | 2 + spec/unit/rom/relation/update_spec.rb | 2 + .../repository/class_methods/build_spec.rb | 8 ++-- spec/unit/rom/repository/get_spec.rb | 2 + 42 files changed, 214 insertions(+), 75 deletions(-) create mode 100644 config/rubocop.yml diff --git a/Gemfile b/Gemfile index 25337ba..fc3c885 100644 --- a/Gemfile +++ b/Gemfile @@ -1,21 +1,22 @@ +# encoding: utf-8 source 'https://rubygems.org' gemspec -gem 'rom-relation', :path => '.' +gem 'rom-relation', path: '.' -gem 'axiom', :git => 'https://github.com/dkubb/axiom.git' +gem 'axiom', git: 'https://github.com/dkubb/axiom.git' group :test do gem 'bogus', '~> 0.1' gem 'randexp' gem 'ruby-graphviz' - gem 'rom-mapper', :git => 'https://github.com/rom-rb/rom-mapper.git' - gem 'axiom-memory-adapter', :git => 'https://github.com/dkubb/axiom-memory-adapter.git' + gem 'rom-mapper', git: 'https://github.com/rom-rb/rom-mapper.git' + gem 'axiom-memory-adapter', git: 'https://github.com/dkubb/axiom-memory-adapter.git' end group :development do - gem 'devtools', :git => 'https://github.com/rom-rb/devtools.git' + gem 'devtools', git: 'https://github.com/rom-rb/devtools.git' end # added by devtools diff --git a/Guardfile b/Guardfile index a728aee..1a15830 100644 --- a/Guardfile +++ b/Guardfile @@ -17,3 +17,9 @@ guard :rspec do notification :tmux, :display_message => true end + +guard :rubocop, cli: %w[--config config/rubocop.yml] do + watch(%r{.+\.(?:rb|rake)\z}) + watch(%r{\Aconfig/rubocop\.yml\z}) { |m| File.dirname(m[0]) } + watch(%r{(?:.+/)?\.rubocop\.yml\z}) { |m| File.dirname(m[0]) } +end diff --git a/config/rubocop.yml b/config/rubocop.yml new file mode 100644 index 0000000..84b8108 --- /dev/null +++ b/config/rubocop.yml @@ -0,0 +1,45 @@ +AllCops: + Includes: + - '**/*.rake' + - 'Gemfile' + - 'Gemfile.devtools' + Excludes: + - '**/vendor/**' + +# Avoid parameter lists longer than five parameters. +ParameterLists: + Max: 3 + CountKeywordArgs: true + +# Avoid more than `Max` levels of nesting. +BlockNesting: + Max: 3 + +# Align with the style guide. +CollectionMethods: + PreferredMethods: + collect: 'map' + inject: 'reduce' + find: 'detect' + find_all: 'select' + +# Do not force public/protected/private keyword to be indented at the same +# level as the def keyword. My personal preference is to outdent these keywords +# because I think when scanning code it makes it easier to identify the +# sections of code and visually separate them. When the keyword is at the same +# level I think it sort of blends in with the def keywords and makes it harder +# to scan the code and see where the sections are. +AccessControl: + Enabled: false + +LineLength: + Max: 90 + +Blocks: + Enabled: false + +Documentation: + Enabled: false + +EmptyLineBetweenDefs: + Enabled: false # TODO: re-enable once SpecHelper.mock_model case is properly handled diff --git a/lib/rom-relation.rb b/lib/rom-relation.rb index 3528a70..a7bf9af 100644 --- a/lib/rom-relation.rb +++ b/lib/rom-relation.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'addressable/uri' require 'concord' @@ -19,7 +21,7 @@ module ROM Undefined = Object.new.freeze # An empty frozen Hash useful for parameter default values - EMPTY_HASH = Hash.new.freeze + EMPTY_HASH = {}.freeze # An empty frozen Array useful for parameter default values EMPTY_ARRAY = [].freeze diff --git a/lib/rom/environment.rb b/lib/rom/environment.rb index e13fc1b..d445f3b 100644 --- a/lib/rom/environment.rb +++ b/lib/rom/environment.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module ROM # The environment used to build and finalize mappers and their relations @@ -13,7 +15,8 @@ class Environment # env = ROM::Environment.coerce(config) # # @param [Environment, Hash<#to_sym, String>] config - # an environment or a hash of adapter uri strings, keyed by repository name + # an environment or a hash of adapter uri strings, + # keyed by repository name # # @return [Environment] # @@ -82,7 +85,8 @@ def repository(name) def register_relations(repository_name, relations) relations.each do |relation| name = relation.name - registry[name] = repository(repository_name).register(name, relation).get(name) + repository = repository(repository_name).register(name, relation) + registry[name] = repository.get(name) end end diff --git a/lib/rom/relation.rb b/lib/rom/relation.rb index 4c20715..81cca2c 100644 --- a/lib/rom/relation.rb +++ b/lib/rom/relation.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module ROM # Enhanced ROM relation wrapping axiom relation and using injected mapper to @@ -21,7 +23,7 @@ def insert(object) def update(object) tuple = mapper.dump(object) - new(relation.delete([tuple]).insert([ tuple ])) + new(relation.delete([tuple]).insert([tuple])) end def delete(object) diff --git a/lib/rom/repository.rb b/lib/rom/repository.rb index 9ff6ff2..2dfd10d 100644 --- a/lib/rom/repository.rb +++ b/lib/rom/repository.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module ROM # A repository with a given +name+ and +adapter+ diff --git a/lib/rom/schema.rb b/lib/rom/schema.rb index e682b90..e831ac3 100644 --- a/lib/rom/schema.rb +++ b/lib/rom/schema.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module ROM # Represents ROM's relation schema diff --git a/lib/rom/schema/definition.rb b/lib/rom/schema/definition.rb index 42f389d..2ecdfda 100644 --- a/lib/rom/schema/definition.rb +++ b/lib/rom/schema/definition.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module ROM class Schema diff --git a/lib/rom/schema/definition/relation.rb b/lib/rom/schema/definition/relation.rb index 2292b93..c1c57d0 100644 --- a/lib/rom/schema/definition/relation.rb +++ b/lib/rom/schema/definition/relation.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module ROM class Schema class Definition @@ -14,7 +16,7 @@ def initialize(&block) end def header - Axiom::Relation::Header.coerce(@header, :keys => @keys) + Axiom::Relation::Header.coerce(@header, keys: @keys) end def attribute(name, type) diff --git a/lib/rom/schema/definition/relation/base.rb b/lib/rom/schema/definition/relation/base.rb index 45ca177..50aa8fb 100644 --- a/lib/rom/schema/definition/relation/base.rb +++ b/lib/rom/schema/definition/relation/base.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module ROM class Schema class Definition diff --git a/lib/rom/support/axiom/adapter.rb b/lib/rom/support/axiom/adapter.rb index d1d52f5..30d74df 100644 --- a/lib/rom/support/axiom/adapter.rb +++ b/lib/rom/support/axiom/adapter.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Axiom # Raised when passing an +uri+ with an unregistered scheme to {Adapter.new} @@ -60,8 +62,12 @@ def self.build(uri) # @api private def self.get(uri) uri_scheme = uri.scheme + REGISTRY.fetch(uri_scheme) { - raise UnknownAdapterError, "'#{uri_scheme}' is no registered uri scheme" + raise( + UnknownAdapterError, + "#{uri_scheme.inspect} is no registered uri scheme" + ) } end diff --git a/lib/rom/support/axiom/adapter/data_objects.rb b/lib/rom/support/axiom/adapter/data_objects.rb index 25dde84..42cd9fe 100644 --- a/lib/rom/support/axiom/adapter/data_objects.rb +++ b/lib/rom/support/axiom/adapter/data_objects.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'axiom-do-adapter' module Axiom diff --git a/lib/rom/support/axiom/adapter/memory.rb b/lib/rom/support/axiom/adapter/memory.rb index b80808e..04778a4 100644 --- a/lib/rom/support/axiom/adapter/memory.rb +++ b/lib/rom/support/axiom/adapter/memory.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'axiom-memory-adapter' require 'rom/support/axiom/adapter' diff --git a/lib/rom/support/axiom/adapter/postgres.rb b/lib/rom/support/axiom/adapter/postgres.rb index 716f5a9..0f1c167 100644 --- a/lib/rom/support/axiom/adapter/postgres.rb +++ b/lib/rom/support/axiom/adapter/postgres.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'do_postgres' require 'rom/support/axiom/adapter' diff --git a/lib/rom/support/axiom/adapter/sqlite3.rb b/lib/rom/support/axiom/adapter/sqlite3.rb index c4dc6f0..edec7d7 100644 --- a/lib/rom/support/axiom/adapter/sqlite3.rb +++ b/lib/rom/support/axiom/adapter/sqlite3.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'do_sqlite3' require 'rom/support/axiom/adapter' diff --git a/lib/rom/version.rb b/lib/rom/version.rb index 555a247..f38d824 100644 --- a/lib/rom/version.rb +++ b/lib/rom/version.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module ROM class Relation VERSION = '0.0.1' diff --git a/spec/integration/environment_setup_spec.rb b/spec/integration/environment_setup_spec.rb index 0218238..0a5d571 100644 --- a/spec/integration/environment_setup_spec.rb +++ b/spec/integration/environment_setup_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe 'Setting up environment' do @@ -13,7 +15,7 @@ end end - env = ROM::Environment.coerce(:memory => 'memory://test') + env = ROM::Environment.coerce(memory: 'memory://test') env.load_schema(schema) repository = env.repository(:memory) diff --git a/spec/integration/schema_definition_spec.rb b/spec/integration/schema_definition_spec.rb index b36d476..e9230b0 100644 --- a/spec/integration/schema_definition_spec.rb +++ b/spec/integration/schema_definition_spec.rb @@ -1,17 +1,43 @@ +# encoding: utf-8 + require 'spec_helper' describe 'Defining a ROM schema' do - let(:people) { Axiom::Relation::Base.new(:people, people_header) } - let(:people_header) { Axiom::Relation::Header.coerce(people_attributes, :keys => people_keys) } - let(:people_attributes) { [ [ :id, Integer ], [ :name, String ] ] } - let(:people_keys) { [ :id ] } + let(:people) { + Axiom::Relation::Base.new(:people, people_header) + } + + let(:people_header) { + Axiom::Relation::Header.coerce(people_attributes, keys: people_keys) + } + + let(:people_attributes) { + [[:id, Integer], [:name, String]] + } + + let(:people_keys) { + [:id] + } + + let(:profiles) { + Axiom::Relation::Base.new(:profiles, profiles_header) + } + + let(:profiles_header) { + Axiom::Relation::Header.coerce(profiles_attributes, keys: profiles_keys) + } + + let(:profiles_attributes) { + [[:id, Integer], [:person_id, Integer], [:text, String]] + } - let(:profiles) { Axiom::Relation::Base.new(:profiles, profiles_header) } - let(:profiles_header) { Axiom::Relation::Header.coerce(profiles_attributes, :keys => profiles_keys) } - let(:profiles_attributes) { [ [ :id, Integer ], [ :person_id, Integer ], [ :text, String ] ] } - let(:profiles_keys) { [ :id, :person_id ] } + let(:profiles_keys) { + [:id, :person_id] + } - let(:people_with_profile) { people.join(profiles.rename(:id => :profile_id, :person_id => :id)) } + let(:people_with_profile) { + people.join(profiles.rename(id: :profile_id, person_id: :id)) + } let(:schema) do ROM::Schema.build do @@ -36,7 +62,7 @@ end relation :people_with_profile do - people.join(profiles.rename(:id => :profile_id, :person_id => :id)) + people.join(profiles.rename(id: :profile_id, person_id: :id)) end end end diff --git a/spec/integration/working_with_relations_spec.rb b/spec/integration/working_with_relations_spec.rb index ce44d36..cbc0314 100644 --- a/spec/integration/working_with_relations_spec.rb +++ b/spec/integration/working_with_relations_spec.rb @@ -1,12 +1,22 @@ +# encoding: utf-8 + require 'spec_helper' describe 'Working with relations' do - let(:header) { Axiom::Relation::Header.coerce([[:id, Integer], [:name, String]]) } - let(:mapper) { TestMapper.new(header, model) } - let(:model) { Class.new(OpenStruct) } + let(:header) { + Axiom::Relation::Header.coerce([[:id, Integer], [:name, String]]) + } + + let(:mapper) { + TestMapper.new(header, model) + } + + let(:model) { + Class.new(OpenStruct) + } specify 'relation setup' do - env = ROM::Environment.coerce(:test => 'memory://test') + env = ROM::Environment.coerce(test: 'memory://test') repo = env.repository(:test) repo.register(:users, Axiom::Relation::Base.new(:users, header)) diff --git a/spec/shared/unit/environment_context.rb b/spec/shared/unit/environment_context.rb index 7ea0b7b..99046cf 100644 --- a/spec/shared/unit/environment_context.rb +++ b/spec/shared/unit/environment_context.rb @@ -1,4 +1,6 @@ +# encoding: utf-8 + shared_context 'Environment' do - let(:object) { described_class.coerce(:test => 'memory://test') } + let(:object) { described_class.coerce(test: 'memory://test') } let(:uri) { 'memory://test' } end diff --git a/spec/shared/unit/relation_context.rb b/spec/shared/unit/relation_context.rb index 1e8909b..586a56d 100644 --- a/spec/shared/unit/relation_context.rb +++ b/spec/shared/unit/relation_context.rb @@ -1,3 +1,7 @@ +# # encoding: utf-8 + +# encoding: utf-8 + shared_context 'Relation' do subject(:relation) { described_class.new(users, mapper) } diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 6e65426..12de7e8 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -29,7 +29,7 @@ include ROM -ROM_ENV = Environment.coerce(:test => "memory://test") +ROM_ENV = Environment.coerce(test: 'memory://test') ROM_ADAPTER = ENV.fetch('ROM_ADAPTER', :in_memory).to_sym Bogus.configure do |config| diff --git a/spec/support/helper.rb b/spec/support/helper.rb index 91c245d..f0bbccc 100644 --- a/spec/support/helper.rb +++ b/spec/support/helper.rb @@ -1,11 +1,6 @@ -module SpecHelper +# encoding: utf-8 - def subclass(name = nil) - Class.new(described_class) do - define_singleton_method(:name) { "#{name}" } - yield if block_given? - end - end +module SpecHelper def mock_model(*attributes) Class.new { @@ -19,26 +14,4 @@ def initialize(attrs) } end - def mock_relation(name, header = [], tuples = Axiom::Relation::Empty::ZERO_TUPLE) - Axiom::Relation::Base.new(name, header, tuples) - end - - def mock_connector(attributes) - OpenStruct.new(attributes) - end - - def mock_node(name) - OpenStruct.new(:name => name) - end - - def mock_join_definition(left_relation, right_relation, left_keys, right_keys) - left = Relationship::JoinDefinition::Side.new(left_relation, left_keys) - right = Relationship::JoinDefinition::Side.new(right_relation, right_keys) - Relationship::JoinDefinition.new(left, right) - end - - def attribute_alias(*args) - ROM::Relation::Header::Attribute.build(*args) - end - end diff --git a/spec/support/test_mapper.rb b/spec/support/test_mapper.rb index 31ad404..c2a8090 100644 --- a/spec/support/test_mapper.rb +++ b/spec/support/test_mapper.rb @@ -1,8 +1,10 @@ +# encoding: utf-8 + class TestMapper < Struct.new(:header, :model) def load(tuple) model.new( Hash[ - header.map { |attribute| [ attribute.name, tuple[attribute.name]] } + header.map { |attribute| [attribute.name, tuple[attribute.name]] } ] ) end diff --git a/spec/unit/rom/environment/class_methods/coerce_spec.rb b/spec/unit/rom/environment/class_methods/coerce_spec.rb index 86c38fb..d18c3ca 100644 --- a/spec/unit/rom/environment/class_methods/coerce_spec.rb +++ b/spec/unit/rom/environment/class_methods/coerce_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Environment, '.coerce' do @@ -5,17 +7,17 @@ context 'when an environment is passed' do let(:config) { environment } - let(:environment) { described_class.build('test' => 'memory://test') } + let(:environment) { described_class.build(test: 'memory://test') } it { should be(environment) } end context 'when a repository config hash is passed' do let(:config) { { name => uri } } - let(:name) { 'test' } + let(:name) { :test } let(:uri) { 'memory://test' } - let(:coerced_config) { Hash[:test => Repository.build(name, coerced_uri)] } + let(:coerced_config) { Hash[test: Repository.build(name, coerced_uri)] } let(:coerced_uri) { Addressable::URI.parse(uri) } it { should eq(described_class.build(coerced_config)) } diff --git a/spec/unit/rom/environment/element_reader_spec.rb b/spec/unit/rom/environment/element_reader_spec.rb index 03baa8a..6a928ca 100644 --- a/spec/unit/rom/environment/element_reader_spec.rb +++ b/spec/unit/rom/environment/element_reader_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Environment, '#[]' do @@ -6,10 +8,10 @@ subject { object[:users] } context 'when relation exists' do - fake(:relation, :name => :users) { Axiom::Relation::Base } + fake(:relation, name: :users) { Axiom::Relation::Base } before do - object.load_schema(:test => [ relation ]) + object.load_schema(test: [relation]) end it { should be_instance_of(Axiom::Relation::Variable::Materialized) } diff --git a/spec/unit/rom/relation/all_spec.rb b/spec/unit/rom/relation/all_spec.rb index b69fd8b..3a3a165 100644 --- a/spec/unit/rom/relation/all_spec.rb +++ b/spec/unit/rom/relation/all_spec.rb @@ -1,9 +1,11 @@ +# encoding: utf-8 + require 'spec_helper' describe Relation, '#all' do subject(:relation) { described_class.new(axiom_relation, mapper) } - let(:axiom_relation) { [ 1, 2 ] } + let(:axiom_relation) { [1, 2] } fake(:mapper) before do @@ -12,6 +14,6 @@ end it 'gets all tuples and loads them via mapper' do - expect(relation.all).to eql([ '1', '2' ]) + expect(relation.all).to eql(%w(1 2)) end end diff --git a/spec/unit/rom/relation/delete_spec.rb b/spec/unit/rom/relation/delete_spec.rb index 9433e92..4a94b4a 100644 --- a/spec/unit/rom/relation/delete_spec.rb +++ b/spec/unit/rom/relation/delete_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Relation, '#delete' do diff --git a/spec/unit/rom/relation/drop_spec.rb b/spec/unit/rom/relation/drop_spec.rb index d984b0c..dec7ad2 100644 --- a/spec/unit/rom/relation/drop_spec.rb +++ b/spec/unit/rom/relation/drop_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Relation, '#drop' do diff --git a/spec/unit/rom/relation/first_spec.rb b/spec/unit/rom/relation/first_spec.rb index 7764328..c6b6d9f 100644 --- a/spec/unit/rom/relation/first_spec.rb +++ b/spec/unit/rom/relation/first_spec.rb @@ -1,10 +1,12 @@ +# encoding: utf-8 + require 'spec_helper' describe Relation, '#first' do include_context 'Relation' it 'returns first n-tuples' do - expect(relation.first.all).to include(model.new(:name => 'Jane')) + expect(relation.first.all).to include(model.new(name: 'Jane')) expect(relation.first.count).to be(1) end end diff --git a/spec/unit/rom/relation/inject_mapper_spec.rb b/spec/unit/rom/relation/inject_mapper_spec.rb index 484f2cb..c421b11 100644 --- a/spec/unit/rom/relation/inject_mapper_spec.rb +++ b/spec/unit/rom/relation/inject_mapper_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Relation, '#inject_mapper' do diff --git a/spec/unit/rom/relation/insert_spec.rb b/spec/unit/rom/relation/insert_spec.rb index e9b0cd0..8e3a60d 100644 --- a/spec/unit/rom/relation/insert_spec.rb +++ b/spec/unit/rom/relation/insert_spec.rb @@ -1,9 +1,11 @@ +# encoding: utf-8 + require 'spec_helper' describe Relation, '#insert' do subject(:relation) { described_class.new(users, mapper) } - let(:users) { Axiom::Relation.new([[ :name, String ]], [[ 'John' ]]) } + let(:users) { Axiom::Relation.new([[:name, String]], [['John']]) } let(:model) { mock_model(:name) } let(:user) { model.new(name: 'John') } let(:mapper) { TestMapper.new(users.header, model) } diff --git a/spec/unit/rom/relation/last_spec.rb b/spec/unit/rom/relation/last_spec.rb index 388daa8..bb9a92c 100644 --- a/spec/unit/rom/relation/last_spec.rb +++ b/spec/unit/rom/relation/last_spec.rb @@ -1,10 +1,12 @@ +# encoding: utf-8 + require 'spec_helper' describe Relation, '#last' do include_context 'Relation' it 'returns last n-tuples' do - expect(relation.last.all).to include(model.new(:name => 'John')) + expect(relation.last.all).to include(model.new(name: 'John')) expect(relation.last.count).to be(1) end end diff --git a/spec/unit/rom/relation/one_spec.rb b/spec/unit/rom/relation/one_spec.rb index 4033266..9e91f66 100644 --- a/spec/unit/rom/relation/one_spec.rb +++ b/spec/unit/rom/relation/one_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Relation, '#one' do @@ -5,7 +7,7 @@ context 'when one tuple is returned' do it 'returns one object' do - expect(relation.one(:name => 'Jane')).to eql(user2) + expect(relation.one(name: 'Jane')).to eql(user2) end end @@ -14,7 +16,7 @@ let(:users) { Axiom::Relation.new(header, [[1, 'Jane'], [2, 'Jane']]) } it 'raises error' do - expect { relation.one(:name => 'Jane') }.to raise_error(ManyTuplesError) + expect { relation.one(name: 'Jane') }.to raise_error(ManyTuplesError) end end end diff --git a/spec/unit/rom/relation/replace_spec.rb b/spec/unit/rom/relation/replace_spec.rb index 4d52fb8..bd4573f 100644 --- a/spec/unit/rom/relation/replace_spec.rb +++ b/spec/unit/rom/relation/replace_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Relation, '#replace' do diff --git a/spec/unit/rom/relation/restrict_spec.rb b/spec/unit/rom/relation/restrict_spec.rb index c719165..10e6442 100644 --- a/spec/unit/rom/relation/restrict_spec.rb +++ b/spec/unit/rom/relation/restrict_spec.rb @@ -1,9 +1,11 @@ +# encoding: utf-8 + require 'spec_helper' describe Relation, '#restrict' do include_context 'Relation' it 'restricts the relation' do - expect(relation.restrict(:name => 'Jane').all).to eq([user2]) + expect(relation.restrict(name: 'Jane').all).to eq([user2]) end end diff --git a/spec/unit/rom/relation/sort_by_spec.rb b/spec/unit/rom/relation/sort_by_spec.rb index f38ad95..cb52d1e 100644 --- a/spec/unit/rom/relation/sort_by_spec.rb +++ b/spec/unit/rom/relation/sort_by_spec.rb @@ -1,9 +1,11 @@ +# encoding: utf-8 + require 'spec_helper' describe Relation, '#sort_by' do include_context 'Relation' it 'sorts relation by its attributes' do - expect(relation.sort_by { |r| [ r.name ] }.all).to eq([ user2, user1 ]) + expect(relation.sort_by { |r| [r.name] }.all).to eq([user2, user1]) end end diff --git a/spec/unit/rom/relation/take_spec.rb b/spec/unit/rom/relation/take_spec.rb index 560d6e2..43736b4 100644 --- a/spec/unit/rom/relation/take_spec.rb +++ b/spec/unit/rom/relation/take_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Relation, '#take' do diff --git a/spec/unit/rom/relation/update_spec.rb b/spec/unit/rom/relation/update_spec.rb index 631fee1..12a12de 100644 --- a/spec/unit/rom/relation/update_spec.rb +++ b/spec/unit/rom/relation/update_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Relation, '#update' do diff --git a/spec/unit/rom/repository/class_methods/build_spec.rb b/spec/unit/rom/repository/class_methods/build_spec.rb index 3c55f54..c0e4095 100644 --- a/spec/unit/rom/repository/class_methods/build_spec.rb +++ b/spec/unit/rom/repository/class_methods/build_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Repository, '.build' do @@ -5,7 +7,7 @@ let(:name) { :test } - context "with a registered uri scheme" do + context 'with a registered uri scheme' do let(:uri) { Addressable::URI.parse('memory://test') } it { should be_instance_of(described_class) } @@ -14,9 +16,9 @@ its(:adapter) { should eq(Axiom::Adapter.build(uri)) } end - context "with an unregistered uri scheme" do + context 'with an unregistered uri scheme' do let(:uri) { Addressable::URI.parse('unregistered://test') } - let(:msg) { "'#{uri.scheme}' is no registered uri scheme" } + let(:msg) { "#{uri.scheme.inspect} is no registered uri scheme" } specify do expect { subject }.to raise_error(Axiom::UnknownAdapterError, msg) diff --git a/spec/unit/rom/repository/get_spec.rb b/spec/unit/rom/repository/get_spec.rb index 13d8d13..4bb6fd6 100644 --- a/spec/unit/rom/repository/get_spec.rb +++ b/spec/unit/rom/repository/get_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Repository, '#get' do