Sha256: 20ee40dc4a5f15289653715c9c1f0dc4ee7e2442334001a43c17d605a74be006

Contents?: true

Size: 1.35 KB

Versions: 20

Compression:

Stored size: 1.35 KB

Contents

# frozen_string_literal: true

require 'ehbrs_ruby_utils/core_ext'

module EhbrsRubyUtils
  module Music
    class LyricsBook
      class Resource
        class << self
          def create_list(parent, files)
            r = files.sort.map { |path| new(parent, path) }.select(&:valid?)
            previous = parent.first_previous
            r.map do |e|
              e.previous = previous
              previous = e
            end
          end
        end

        enable_simple_cache
        include ::Comparable
        common_constructor :parent, :path
        attr_accessor :previous

        def filename
          path.relative_path_from(parent.path)
        end

        def <=>(other)
          path <=> other.path
        end

        def link_to_header
          "<a href=\"\##{header_id}\" id=\"#{index_id}\">#{header_title}</a>"
        end

        def index_id
          "index_#{header_id}"
        end

        def header_id
          header_title.variableize
        end

        def header_index
          parent.header_index + 1
        end

        def output_main
          ::EhbrsRubyUtils::Music::LyricsBook::Resource.erb_template('main.html.erb', binding)
        end

        def output_index
          erb_template('index.html.erb')
        end

        def type
          self.class.name.demodulize.underscore
        end
      end
    end
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
ehbrs_ruby_utils-0.33.0 lib/ehbrs_ruby_utils/music/lyrics_book/resource.rb
ehbrs_ruby_utils-0.32.0 lib/ehbrs_ruby_utils/music/lyrics_book/resource.rb
ehbrs_ruby_utils-0.31.0 lib/ehbrs_ruby_utils/music/lyrics_book/resource.rb
ehbrs_ruby_utils-0.30.0 lib/ehbrs_ruby_utils/music/lyrics_book/resource.rb
ehbrs_ruby_utils-0.29.0 lib/ehbrs_ruby_utils/music/lyrics_book/resource.rb
ehbrs_ruby_utils-0.28.0 lib/ehbrs_ruby_utils/music/lyrics_book/resource.rb
ehbrs_ruby_utils-0.27.1 lib/ehbrs_ruby_utils/music/lyrics_book/resource.rb
ehbrs_ruby_utils-0.27.0 lib/ehbrs_ruby_utils/music/lyrics_book/resource.rb
ehbrs_ruby_utils-0.26.0 lib/ehbrs_ruby_utils/music/lyrics_book/resource.rb
ehbrs_ruby_utils-0.25.1 lib/ehbrs_ruby_utils/music/lyrics_book/resource.rb
ehbrs_ruby_utils-0.25.0 lib/ehbrs_ruby_utils/music/lyrics_book/resource.rb
ehbrs_ruby_utils-0.24.1 lib/ehbrs_ruby_utils/music/lyrics_book/resource.rb
ehbrs_ruby_utils-0.24.0 lib/ehbrs_ruby_utils/music/lyrics_book/resource.rb
ehbrs_ruby_utils-0.23.0 lib/ehbrs_ruby_utils/music/lyrics_book/resource.rb
ehbrs_ruby_utils-0.22.0 lib/ehbrs_ruby_utils/music/lyrics_book/resource.rb
ehbrs_ruby_utils-0.21.0 lib/ehbrs_ruby_utils/music/lyrics_book/resource.rb
ehbrs_ruby_utils-0.20.0 lib/ehbrs_ruby_utils/music/lyrics_book/resource.rb
ehbrs_ruby_utils-0.19.0 lib/ehbrs_ruby_utils/music/lyrics_book/resource.rb
ehbrs_ruby_utils-0.18.0 lib/ehbrs_ruby_utils/music/lyrics_book/resource.rb
ehbrs_ruby_utils-0.17.3 lib/ehbrs_ruby_utils/music/lyrics_book/resource.rb