saturnflyer/characterize

View on GitHub
lib/characterize.rb

Summary

Maintainability
A
0 mins
Test Coverage
A
92%
require "characterize/version"
require "characterize/controller"
require "characterize/feature_controls"
require "casting"
require "characterize/collection"
require "characterize/railtie" if defined?(::Rails)

module Characterize
  def self.included(klass)
    klass.class_eval {
      include Casting::Client
      delegate_missing_methods
    }
  end

  def __view__
    @characterize_view
  end

  def __set_characterize_view__(obj)
    @characterize_view = obj
    self
  end

  def self.module_suffix
    @characterize_suffix ||= "Character"
  end

  def self.module_suffix=(val)
    @characterize_suffix = val
  end

  def self.standard_features
    @standard_features ||= builtin_standard_features.dup
  end

  def self.standard_features=(mods_array)
    @standard_features = mods_array
  end

  def self.builtin_standard_features
    [::Characterize::FeatureControls].freeze
  end

  def self.register_collection(klass, type)
    Collection.register(klass, type)
  end
end