Module: ConvenientService::Feature::Configs::Standard

Includes:
Config, ConvenientService::Feature::Core
Defined in:
lib/convenient_service/feature/configs/standard.rb

Overview

Default configuration for the user-defined features.

Class Method Summary collapse

Methods included from Core

entity?, entity_class?

Methods included from Support::Concern

included

Methods included from Config

empty_options, included

Class Method Details

.feature?(feature) ⇒ Boolean

Checks whether an object is a feature instance.

Examples:

Simple usage.

class Feature
  include ConvenientService::Feature::Standard::Config

  entry :main

  def main
    :main_entry_value
  end
end

ConvenientService::Feature::Configs::Standard.feature?(Feature.new)
# => true

ConvenientService::Feature::Configs::Standard.feature?(Feature)
# => false

ConvenientService::Feature::Configs::Standard.feature?(42)
# => false

Parameters:

  • feature (Object)

    Can be any type.

Returns:

  • (Boolean)


116
117
118
# File 'lib/convenient_service/feature/configs/standard.rb', line 116

def feature?(feature)
  feature_class?(feature.class)
end

.feature_class?(feature_class) ⇒ Boolean

Checks whether a class is a feature class.

Examples:

Simple usage.

class Feature
  include ConvenientService::Feature::Standard::Config

  entry :main

  def main
    :main_entry_value
  end
end

ConvenientService::Feature::Configs::Standard.feature_class?(Feature)
# => false

ConvenientService::Feature::Configs::Standard.feature_class?(Feature.new)
# => true

ConvenientService::Feature::Configs::Standard.feature_class?(42)
# => false

Parameters:

  • feature_class (Object)

    Can be any type.

Returns:

  • (Boolean)


82
83
84
85
86
# File 'lib/convenient_service/feature/configs/standard.rb', line 82

def feature_class?(feature_class)
  return false unless feature_class.instance_of?(::Class)

  feature_class.include?(Feature::Core)
end