Skip to content

Commit

Permalink
Follow the same style guide as Rails
Browse files Browse the repository at this point in the history
  • Loading branch information
rafaelfranca committed Nov 2, 2018
1 parent db78e49 commit 4accda8
Show file tree
Hide file tree
Showing 71 changed files with 1,515 additions and 1,195 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,221 @@
AllCops:
TargetRubyVersion: 2.4
# RuboCop has a bunch of cops enabled by default. This setting tells RuboCop
# to ignore them, so only the ones explicitly set in this file are enabled.
DisabledByDefault: true
Exclude:
- '**/templates/**/*'
- '**/vendor/**/*'
- 'actionpack/lib/action_dispatch/journey/parser.rb'
- 'railties/test/fixtures/tmp/**/*'
- 'node_modules/**/*'

Performance:
Exclude:
- '**/test/**/*'

Rails:
Enabled: true

# Prefer assert_not over assert !
Rails/AssertNot:
Include:
- '**/test/**/*'

# Prefer assert_not_x over refute_x
Rails/RefuteMethods:
Include:
- '**/test/**/*'

# Prefer &&/|| over and/or.
Style/AndOr:
Enabled: true

# Do not use braces for hash literals when they are the last argument of a
# method call.
Style/BracesAroundHashParameters:
Enabled: true
EnforcedStyle: context_dependent

# Align `when` with `case`.
Layout/CaseIndentation:
Enabled: true

# Align comments with method definitions.
Layout/CommentIndentation:
Enabled: true

Layout/ElseAlignment:
Enabled: true

# Align `end` with the matching keyword or starting expression except for
# assignments, where it should be aligned with the LHS.
Layout/EndAlignment:
Enabled: true
EnforcedStyleAlignWith: variable
AutoCorrect: true

Layout/EmptyLineAfterMagicComment:
Enabled: true

Layout/EmptyLinesAroundBlockBody:
Enabled: true

# In a regular class definition, no empty lines around the body.
Layout/EmptyLinesAroundClassBody:
Enabled: true

# In a regular method definition, no empty lines around the body.
Layout/EmptyLinesAroundMethodBody:
Enabled: true

# In a regular module definition, no empty lines around the body.
Layout/EmptyLinesAroundModuleBody:
Enabled: true

Layout/FirstParameterIndentation:
Enabled: true

# Use Ruby >= 1.9 syntax for hashes. Prefer { a: :b } over { :a => :b }.
Style/HashSyntax:
Enabled: true

# Method definitions after `private` or `protected` isolated calls need one
# extra level of indentation.
Layout/IndentationConsistency:
Enabled: true
EnforcedStyle: rails

# Two spaces, no tabs (for indentation).
Layout/IndentationWidth:
Enabled: true

Layout/LeadingCommentSpace:
Enabled: true

Layout/SpaceAfterColon:
Enabled: true

Layout/SpaceAfterComma:
Enabled: true

Layout/SpaceAroundEqualsInParameterDefault:
Enabled: true

Layout/SpaceAroundKeyword:
Enabled: true

Layout/SpaceAroundOperators:
Enabled: true

Layout/SpaceBeforeComma:
Enabled: true

Layout/SpaceBeforeFirstArg:
Enabled: true

Style/DefWithParentheses:
Enabled: true

# Defining a method with parameters needs parentheses.
Style/MethodDefParentheses:
Enabled: true

Style/FrozenStringLiteralComment:
Enabled: true
EnforcedStyle: always
Exclude:
- 'actionview/test/**/*.builder'
- 'actionview/test/**/*.ruby'
- 'actionpack/test/**/*.builder'
- 'actionpack/test/**/*.ruby'
- 'activestorage/db/migrate/**/*.rb'

Style/RedundantFreeze:
Enabled: true
Exclude:
- 'actionpack/lib/action_dispatch/journey/router/utils.rb'
- 'activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb'

# Use `foo {}` not `foo{}`.
Layout/SpaceBeforeBlockBraces:
Enabled: true

# Use `foo { bar }` not `foo {bar}`.
Layout/SpaceInsideBlockBraces:
Enabled: true
EnforcedStyleForEmptyBraces: space

# Use `{ a: 1 }` not `{a:1}`.
Layout/SpaceInsideHashLiteralBraces:
Enabled: true

Layout/SpaceInsideParens:
Enabled: true

# Check quotes usage according to lint rule below.
Style/StringLiterals:
Enabled: true
EnforcedStyle: double_quotes

# Detect hard tabs, no hard tabs.
Layout/Tab:
Enabled: true

# Blank lines should not have any spaces.
Layout/TrailingBlankLines:
Enabled: true

# No trailing whitespace.
Layout/TrailingWhitespace:
Enabled: true

# Use quotes for string literals when they are enough.
Style/UnneededPercentQ:
Enabled: true

# Use my_method(my_arg) not my_method( my_arg ) or my_method my_arg.
Lint/RequireParentheses:
Enabled: true

Lint/StringConversionInInterpolation:
Enabled: true

Lint/UriEscapeUnescape:
Enabled: true

Style/ParenthesesAroundCondition:
Enabled: true

Style/RedundantReturn:
Enabled: true
AllowMultipleReturnValues: true

Style/Semicolon:
Enabled: true
AllowAsExpressionSeparator: true

# Prefer Foo.method over Foo::method
Style/ColonMethodCall:
Enabled: true

Style/TrivialAccessors:
Enabled: true

Performance/FlatMap:
Enabled: true

Performance/RedundantMerge:
Enabled: true

Performance/StartWith:
Enabled: true

Performance/EndWith:
Enabled: true

Performance/RegexpMatch:
Enabled: true

Performance/UnfreezeString:
Enabled: true
5 changes: 5 additions & 0 deletions .rubocop.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
inherit_from: https://raw.githubusercontent.com/rails/rails/master/.rubocop.yml

AllCops:
TargetRubyVersion: 2.2
DisabledByDefault: true
14 changes: 8 additions & 6 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
source 'https://rubygems.org'
# frozen_string_literal: true

source "https://rubygems.org"

git_source(:github) { |repo| "https://github.com/#{repo}" }

branch = ENV.fetch('BRANCH', 'master')
gem 'activesupport', github: 'rails/rails', branch: branch
gem 'activemodel', github: 'rails/rails', branch: branch
gem 'activejob', github: 'rails/rails', branch: branch
branch = ENV.fetch("BRANCH", "master")
gem "activesupport", github: "rails/rails", branch: branch
gem "activemodel", github: "rails/rails", branch: branch
gem "activejob", github: "rails/rails", branch: branch

gemspec

platform :mri do
group :test do
gem 'ruby-prof'
gem "ruby-prof"
end
end
16 changes: 9 additions & 7 deletions Rakefile
Original file line number Diff line number Diff line change
@@ -1,27 +1,29 @@
#!/usr/bin/env rake
require 'rake/testtask'
require 'bundler'
# frozen_string_literal: true

require "rake/testtask"
require "bundler"
Bundler::GemHelper.install_tasks

desc "Default Task"
task :default => [ :test ]
task default: [ :test ]

# Run the unit tests

Rake::TestTask.new { |t|
t.libs << "test"
t.pattern = 'test/**/*_test.rb'
t.pattern = "test/**/*_test.rb"
t.warning = true
t.verbose = true
}

namespace :test do
task :isolated do
ruby = File.join(*RbConfig::CONFIG.values_at('bindir', 'RUBY_INSTALL_NAME'))
ruby = File.join(*RbConfig::CONFIG.values_at("bindir", "RUBY_INSTALL_NAME"))
activesupport_path = "#{File.dirname(__FILE__)}/../activesupport/lib"
Dir.glob("test/**/*_test.rb").all? do |file|
sh(ruby, '-w', "-Ilib:test:#{activesupport_path}", file)
end or raise "Failures"
sh(ruby, "-w", "-Ilib:test:#{activesupport_path}", file)
end || raise("Failures")
end
end

Expand Down
36 changes: 19 additions & 17 deletions activeresource.gemspec
Original file line number Diff line number Diff line change
@@ -1,30 +1,32 @@
# frozen_string_literal: true

$LOAD_PATH.push File.expand_path("../lib", __FILE__)
require 'active_resource/version'
require "active_resource/version"

Gem::Specification.new do |s|
s.platform = Gem::Platform::RUBY
s.name = 'activeresource'
s.name = "activeresource"
s.version = ActiveResource::VERSION::STRING
s.summary = 'REST modeling framework (part of Rails).'
s.description = 'REST on Rails. Wrap your RESTful web app with Ruby classes and work with them like Active Record models.'
s.license = 'MIT'
s.summary = "REST modeling framework (part of Rails)."
s.description = "REST on Rails. Wrap your RESTful web app with Ruby classes and work with them like Active Record models."
s.license = "MIT"

s.author = 'David Heinemeier Hansson'
s.email = '[email protected]'
s.homepage = 'http://www.rubyonrails.org'
s.author = "David Heinemeier Hansson"
s.email = "[email protected]"
s.homepage = "http://www.rubyonrails.org"

s.files = Dir['MIT-LICENSE', 'README.rdoc', 'lib/**/*']
s.require_path = 'lib'
s.files = Dir["MIT-LICENSE", "README.rdoc", "lib/**/*"]
s.require_path = "lib"

s.extra_rdoc_files = %w( README.rdoc )
s.rdoc_options.concat ['--main', 'README.rdoc']
s.rdoc_options.concat ["--main", "README.rdoc"]

s.required_ruby_version = '>= 2.2.2'
s.required_ruby_version = ">= 2.2.2"

s.add_dependency('activesupport', '>= 5.0', '< 7')
s.add_dependency('activemodel', '>= 5.0', '< 7')
s.add_dependency('activemodel-serializers-xml', '~> 1.0')
s.add_dependency("activesupport", ">= 5.0", "< 7")
s.add_dependency("activemodel", ">= 5.0", "< 7")
s.add_dependency("activemodel-serializers-xml", "~> 1.0")

s.add_development_dependency('rake')
s.add_development_dependency('mocha', '>= 0.13.0')
s.add_development_dependency("rake")
s.add_development_dependency("mocha", ">= 0.13.0")
end
Loading

0 comments on commit 4accda8

Please sign in to comment.