Sha256: 17487faf562b57780c6e8e3eaf661f4a71861571cb4154df491ad4d427c29747

Contents?: true

Size: 864 Bytes

Versions: 12

Compression:

Stored size: 864 Bytes

Contents

class Card
  class Fetch
    # fetch-related Card instance methods
    module All
      # fetching from the context of a card
      def fetch field_marks, opts={}
        opts[:new][:supercard] = self if opts[:new]
        Array.wrap(field_marks).inject(self) do |card, mark|
          Card.fetch card.name.field(mark.cardname), opts
        end
      end

      def newish opts
        reset_patterns
        Card.with_normalized_new_args opts do |norm_opts|
          handle_type norm_opts do
            assign_attributes norm_opts
            self.name = name # trigger superize_name
          end
        end
      end

      def refresh force=false
        return self unless force || frozen? || readonly?
        return unless id

        fresh_card = self.class.find id
        fresh_card.include_set_modules
        fresh_card
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
card-1.106.0 lib/card/fetch/all.rb
card-1.105.6 lib/card/fetch/all.rb
card-1.105.5 lib/card/fetch/all.rb
card-1.105.4 lib/card/fetch/all.rb
card-1.105.3 lib/card/fetch/all.rb
card-1.105.2.pre1 lib/card/fetch/all.rb
card-1.105.2 lib/card/fetch/all.rb
card-1.105.1 lib/card/fetch/all.rb
card-1.105.0 lib/card/fetch/all.rb
card-1.104.2 lib/card/fetch/all.rb
card-1.104.1 lib/card/fetch/all.rb
card-1.104.0 lib/card/fetch/all.rb