remove overwritable_method_definitions

This commit is contained in:
Sven Fuchs 2016-06-19 15:51:41 +02:00
parent fb0493a33c
commit eb78d9df30
4 changed files with 0 additions and 43 deletions

View File

@ -4,7 +4,6 @@ require 'travis/support/database'
require 'travis/version' require 'travis/version'
require 'travis/redis_pool' require 'travis/redis_pool'
require 'travis/errors' require 'travis/errors'
require 'travis/commit_command'
module Travis module Travis
class << self class << self

View File

@ -1,7 +1,6 @@
# encoding: utf-8 # encoding: utf-8
require 'coercible' require 'coercible'
require 'travis/settings' require 'travis/settings'
require 'travis/overwritable_method_definitions'
require 'travis/settings/encrypted_value' require 'travis/settings/encrypted_value'
require 'openssl' require 'openssl'

View File

@ -1,39 +0,0 @@
module Travis
# OverwritableMethodDefinitions module allows to easily define methods which will be
# overwritable in the same class. For example, given such a class:
#
# class Foo
# include Travis::OverwritableMethodDefinitions
#
# define_overwritable_method :foo do
# 'foo'
# end
#
# def foo
# super + '!'
# end
# end
#
# Foo.new.foo #=> foo!
module OverwritableMethodDefinitions
def self.included(base)
base.extend(ClassMethods)
base.initialize_overwritable_methods_module
end
module ClassMethods
def inherited(child)
child.initialize_overwritable_methods_module
end
def initialize_overwritable_methods_module
@generated_overwritable_methods = Module.new
include @generated_overwritable_methods
end
def define_overwritable_method(*args, &block)
@generated_overwritable_methods.send :define_method, *args, &block
end
end
end
end

View File

@ -1,12 +1,10 @@
require 'coercible' require 'coercible'
require 'travis/overwritable_method_definitions'
require 'travis/settings/collection' require 'travis/settings/collection'
require 'travis/settings/model' require 'travis/settings/model'
require 'travis/settings/model_extensions' require 'travis/settings/model_extensions'
module Travis module Travis
class Settings class Settings
include Travis::OverwritableMethodDefinitions
include Virtus.model include Virtus.model
include ActiveModel::Validations include ActiveModel::Validations
include Travis::Settings::ModelExtensions include Travis::Settings::ModelExtensions