Sha256: 16e65ee672d466fb15e47cb88b8ea4c269d27276ea925f46d0bf9f634ff59820

Contents?: true

Size: 518 Bytes

Versions: 10

Compression:

Stored size: 518 Bytes

Contents

module ShEx::Algebra
  ##
  class Language < Operator::Unary
    NAME = :language

    ##
    # matches any literal having a language tag that matches value
    def match?(value, depth: 0)
      status "", depth: depth
      if case expr = operands.first
        when RDF::Literal then value.language == expr.to_s.to_sym
        else false
        end
        status "matched #{value}", depth: depth
        true
      else
        status "not matched #{value}", depth: depth
        false
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
shex-0.8.0 lib/shex/algebra/language.rb
shex-0.7.1 lib/shex/algebra/language.rb
shex-0.7.0 lib/shex/algebra/language.rb
shex-0.6.4 lib/shex/algebra/language.rb
shex-0.6.3 lib/shex/algebra/language.rb
shex-0.6.2 lib/shex/algebra/language.rb
shex-0.6.1 lib/shex/algebra/language.rb
shex-0.6.0 lib/shex/algebra/language.rb
shex-0.5.2 lib/shex/algebra/language.rb
shex-0.5.1 lib/shex/algebra/language.rb