Class: ActiveAssets::ActiveExpansions::Asset

Inherits:
Struct
  • Object
show all
Defined in:
lib/active_assets/active_expansions/asset.rb

Defined Under Namespace

Classes: AmbiguousContext, InvalidAssetType, InvalidContext, ValidationError

Constant Summary collapse

REQUIRED_PROPS =
[:path, :type, :expansion_name]
VALID_TYPES =
[:js, :css]

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeAsset

Returns a new instance of Asset.



37
38
39
40
41
# File 'lib/active_assets/active_expansions/asset.rb', line 37

def initialize(*)
  super
  self.group ||= :all
  self.cache = self.cache == false ? false : true
end

Instance Attribute Details

#cacheObject

Returns the value of attribute cache

Returns:

  • (Object)

    the current value of cache



3
4
5
# File 'lib/active_assets/active_expansions/asset.rb', line 3

def cache
  @cache
end

#expansion_nameObject

Returns the value of attribute expansion_name

Returns:

  • (Object)

    the current value of expansion_name



3
4
5
# File 'lib/active_assets/active_expansions/asset.rb', line 3

def expansion_name
  @expansion_name
end

#groupObject

Returns the value of attribute group

Returns:

  • (Object)

    the current value of group



3
4
5
# File 'lib/active_assets/active_expansions/asset.rb', line 3

def group
  @group
end

#pathObject

Returns the value of attribute path

Returns:

  • (Object)

    the current value of path



3
4
5
# File 'lib/active_assets/active_expansions/asset.rb', line 3

def path
  @path
end

#typeObject

Returns the value of attribute type

Returns:

  • (Object)

    the current value of type



3
4
5
# File 'lib/active_assets/active_expansions/asset.rb', line 3

def type
  @type
end

Instance Method Details

#valid!Object



56
57
58
59
# File 'lib/active_assets/active_expansions/asset.rb', line 56

def valid!
  e = validation_error
  raise e if e
end

#valid?Boolean

Returns:

  • (Boolean)


52
53
54
# File 'lib/active_assets/active_expansions/asset.rb', line 52

def valid?
  !validation_error
end

#validation_errorObject



43
44
45
46
47
48
49
50
# File 'lib/active_assets/active_expansions/asset.rb', line 43

def validation_error
  missing_fields = REQUIRED_PROPS.reject { |meth| send(meth) }
  if missing_fields.any?
    ValidationError.new(self, missing_fields)
  elsif !VALID_TYPES.include?(type)
    InvalidAssetType.new(type)
  end
end