Class: Anyicon::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/anyicon/configuration.rb

Overview

Example usage:

Anyicon.configure do |config|
  config.add_collections(
    custom_collection: {
      repo: 'user/repo',
      path: 'path/to/icons',
      branch: 'main'
    }
  )
end

The class also allows setting additional configuration options such as default_class, which can be used to apply a default CSS class to every icon.

Constant Summary collapse

DEFAULT_COLLECTIONS =

A hash containing the default icon collections. Each collection specifies the repository, path, and branch where the icons can be found.

{
  fontawesome_regular: { repo: "FortAwesome/Font-Awesome", path: "svgs/regular", branch: "6.x" },
  fontawesome_solid: { repo: "FortAwesome/Font-Awesome", path: "svgs/solid", branch: "6.x" },
  fontawesome_brands: { repo: "FortAwesome/Font-Awesome", path: "svgs/brands", branch: "6.x" },
  heroicons_outline: { repo: "tailwindlabs/heroicons", path: "optimized/24/outline", branch: "master" },
  heroicons_solid: { repo: "tailwindlabs/heroicons", path: "optimized/24/solid", branch: "master" },
  tabler_icons_filled: { repo: "tabler/tabler-icons", path: "icons/filled", branch: "main" },
  tabler_icons_outline: { repo: "tabler/tabler-icons", path: "icons/outline", branch: "main" },
  mage_icons_fill: { repo: "Mage-Icons/mage-icons", path: "svg/bulk", branch: "main" },
  mage_icons_stroke: { repo: "Mage-Icons/mage-icons", path: "svg/stroke", branch: "main" },
  mage_icons_social_bw: { repo: "Mage-Icons/mage-icons", path: "svg/social-bw", branch: "main" },
  mage_icons_social_color: { repo: "Mage-Icons/mage-icons", path: "svg/social-color", branch: "main" },
  line_awesome: { repo: "icons8/line-awesome", path: "svg", branch: "master" },
  carbon: { repo: "carbon-design-system/carbon", path: "packages/icons/src/svg/32", branch: "main" },
  ionicons: { repo: "ionic-team/ionicons", path: "src/svg", branch: "main" },
  feather_icons: { repo: "feathericons/feather", path: "icons", branch: "main" }
}.freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Initializes a new Configuration instance with default settings.



46
47
48
# File 'lib/anyicon/configuration.rb', line 46

def initialize
  @collections = DEFAULT_COLLECTIONS.dup
end

Instance Attribute Details

#collectionsHash

Returns the configured icon collections.

Returns:

  • (Hash)

    the configured icon collections



43
44
45
# File 'lib/anyicon/configuration.rb', line 43

def collections
  @collections
end

Instance Method Details

#add_collections(new_collections) ⇒ Object



50
51
52
# File 'lib/anyicon/configuration.rb', line 50

def add_collections(new_collections)
  @collections.merge!(new_collections)
end