Class: Origin

Inherits:
Object
  • Object
show all
Defined in:
app/aides/origin.rb

Overview

Copyright 2011-2013 innoQ Deutschland GmbH

Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(value = nil) ⇒ Origin

Returns a new instance of Origin.



20
21
22
23
# File 'app/aides/origin.rb', line 20

def initialize(value = nil)
  self.initial_value = value
  self.value = "_#{SecureRandom.hex(4)}"
end

Instance Attribute Details

#initial_valueObject

Returns the value of attribute initial_value.



18
19
20
# File 'app/aides/origin.rb', line 18

def initial_value
  @initial_value
end

#valueObject

Returns the value of attribute value.



18
19
20
# File 'app/aides/origin.rb', line 18

def value
  @value
end

Instance Method Details

#to_sObject



44
45
46
# File 'app/aides/origin.rb', line 44

def to_s
  value
end

#valid?Boolean

Returns:

  • (Boolean)


25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'app/aides/origin.rb', line 25

def valid?
  valid = true

  if blank_node = initial_value.match(RDFAPI::BLANK_NODE_REGEXP)
    # blank node validation, should not contain special chars
    valid = false if CGI.escape(blank_node[1]) != blank_node[1]
  else
    # regular subject validation

    # should not start with a number
    valid = false if initial_value.match(/^\d.*/)

    # should not contain special chars
    valid = false if CGI.escape(initial_value) != initial_value
  end

  valid
end