Sha256: 3523dd6b928d49a3176cd419bbeaa412e0d024f9e979feb157b599000d00d603

Contents?: true

Size: 1.26 KB

Versions: 1

Compression:

Stored size: 1.26 KB

Contents

class StylesheetsDataset < Dataset::Base

  def load
    create_stylesheet "main", :content => "Main stylesheet content"
  end


  helpers do

    def create_stylesheet(name, attributes={})
      stylesheet = create_model :stylesheet,
                    name.downcase.to_sym,
                    stylesheet_params(
                        attributes.reverse_merge(:name => name) )
      if stylesheet.nil?
        throw "Error creating user dataset for #{name}"
      end
    end


    def stylesheet_params(attributes={})
      name = attributes[:name] || unique_stylesheet_name
      {
        :name => name,
        :content => "stylesheet content for #{name}"
      }.merge(attributes)
    end

    # Generic dataset lookup methods so we can write one spec example that handles both javascripts and
    # stylesheets.  JavascriptsDataset defines these differently.  Don't load both datasets at once.
    def text_assets(symbolic_name)
      stylesheets(symbolic_name)
    end


    def text_asset_id(symbolic_name)
      stylesheet_id(symbolic_name)
    end


    private

      @@unique_stylesheet_name_call_count = 0

      def unique_stylesheet_name
        @@unique_stylesheet_name_call_count += 1
        "stylesheet-#{@@unique_stylesheet_name_call_count}.css"
      end

  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
radiant-sns-extension-0.9.0 spec/datasets/stylesheets_dataset.rb