Sha256: e70f82d45847133fd06127cb16db74f2a03682bd945817f741e6c76326e501ce

Contents?: true

Size: 1.27 KB

Versions: 7

Compression:

Stored size: 1.27 KB

Contents

class Lono::Jade
  class Registry
    attr_reader :args, :options
    attr_accessor :caller_line, :parent, :depends_on
    def initialize(args, options)
      @args, @options = args, options
    end

    def name
      @args.first
    end

    def gem_options
      options = @options.dup
      # Delete special options that is not supported by bundler Gemfile
      options.delete(:repo)
      options.delete(:resource) # configset
      options.delete(:vars) # configset
      options
    end

    # configset
    def resource
      @options[:resource]
    end

    def resource=(v)
      @options[:resource] = v
    end

    def vars
      options[:vars] || {}
    end

    class_attribute :tracked_configsets, default: []
    class_attribute :downloaded_configsets, default: []
    class_attribute :tracked_extensions, default: []
    class_attribute :downloaded_extensions, default: []

    class << self
      def register_configset(args, options)
        registry = new(args, options)
        jade = Lono::Jade.new(registry.name, 'configset', registry)
        self.tracked_configsets << jade
        registry
      end

      def register_extension(args, options)
        registry = new(args, options)
        self.tracked_extensions << registry
        registry
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
lono-7.3.2 lib/lono/jade/registry.rb
lono-7.3.1 lib/lono/jade/registry.rb
lono-7.3.0 lib/lono/jade/registry.rb
lono-7.2.3 lib/lono/jade/registry.rb
lono-7.2.2 lib/lono/jade/registry.rb
lono-7.2.1 lib/lono/jade/registry.rb
lono-7.2.0 lib/lono/jade/registry.rb