Class: DejaVuNS::Record

Inherits:
Object
  • Object
show all
Includes:
BodyAsChild, HeaderAsChild, MultipartReferenceAsChild, ParamAsChild, Xampl::XamplPersistedObject, Xampl::XamplWithDataContent
Defined in:
lib/deja-vu/model/record.rb,
lib/deja-vu/model/generated_model/DejaVuNS.rb

Constant Summary collapse

@@default_persister_format =
nil
@@tag =
"record"
@@ns =
"http://soldierofcode.com/deja-vu"
@@ns_tag =
"{http://soldierofcode.com/deja-vu}record"
@@module_name =
"DejaVuNS"
@@safe_name =
"DejaVuNS_record"
@@attributes =
[
  [ :@pid, "pid" ],
  [ :@stamp, "stamp" ],
  [ :@status, "status" ],
  [ :@httpmethod, "httpmethod" ],
  [ :@url, "url" ],
  [ :@request_time, "request-time" ],
  [ :@scheduled_for_deletion_at, "scheduled-for-deletion-at" ],
]

Class Method Summary collapse

Instance Method Summary collapse

Methods included from MultipartReferenceAsChild

#add_multipart_reference, #ensure_multipart_reference, #init_multipart_reference_as_child, #multipart_reference_child, #multipart_reference_child=, #new_multipart_reference, #remove_multipart_reference

Methods included from ParamAsChild

#add_param, #ensure_param, #init_param_as_child, #new_param, #param_child, #param_child=, #remove_param

Methods included from BodyAsChild

#add_body, #body_child, #body_child=, #ensure_body, #init_body_as_child, #new_body, #remove_body

Methods included from HeaderAsChild

#add_header, #ensure_header, #header_child, #header_child=, #init_header_as_child, #new_header, #remove_header

Constructor Details

#initialize(index = nil) {|_self| ... } ⇒ Record

Returns a new instance of Record.

Yields:

  • (_self)

Yield Parameters:



970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 970

def initialize(index=nil)
  @pid = index if index
  super()

  @pid = nil if not defined? @pid
  @stamp = nil if not defined? @stamp
  @status = nil if not defined? @status
  @httpmethod = nil if not defined? @httpmethod
  @url = nil if not defined? @url
  @request_time = nil if not defined? @request_time
  @scheduled_for_deletion_at = nil if not defined? @scheduled_for_deletion_at

  init_xampl_object
  init_data_content
  init_header_as_child
  init_body_as_child
  init_param_as_child
  init_multipart_reference_as_child

  yield(self) if block_given?
  init_hook

  changed
end

Class Method Details

.[](pid) ⇒ Object



887
888
889
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 887

def Record.[](pid)
  Xampl.lookup(Record, pid)
end

.default_persister_formatObject



846
847
848
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 846

def Record.default_persister_format
  @@default_persister_format
end

.find_by_queryObject



853
854
855
856
857
858
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 853

def Record.find_by_query
  things = Xampl.find_xampl do | q |
     q.add_condition('class', :equals, self.name)
     yield(q)
   end
end

.lookup(pid) ⇒ Object



883
884
885
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 883

def Record.lookup(pid)
  Xampl.lookup(Record, pid)
end

.module_nameObject



1032
1033
1034
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 1032

def Record.module_name
  @@module_name
end

.nsObject



1020
1021
1022
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 1020

def Record.ns
  @@ns
end

.ns_tagObject



1024
1025
1026
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 1024

def Record.ns_tag
  @@ns_tag
end

.persisted?Boolean

Returns:

  • (Boolean)


1008
1009
1010
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 1008

def Record.persisted?
  return :pid
end

.safe_nameObject



1028
1029
1030
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 1028

def Record.safe_name
  @@safe_name
end

.set_default_persister_format(format) ⇒ Object



849
850
851
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 849

def Record.set_default_persister_format(format)
  @@default_persister_format = format
end

.tagObject



1016
1017
1018
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 1016

def Record.tag
  @@tag
end

Instance Method Details

#after_visit(visitor) ⇒ Object



1084
1085
1086
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 1084

def after_visit(visitor)
  visitor.after_visit_record(self)
end

#append_to(other) ⇒ Object



1004
1005
1006
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 1004

def append_to(other)
  other.add_record(self)
end

#assign_agent(agent) ⇒ Object

def initialize(pid)

  super
  assign_agent('Deja-Vu/1.0')
end


24
25
26
27
28
29
30
# File 'lib/deja-vu/model/record.rb', line 24

def assign_agent(agent)
  unless defined? @sess
    @sess = Patron::Session.new
    @sess.timeout = 10
    @sess.headers['User-Agent'] = agent
  end
end

#attributesObject



1056
1057
1058
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 1056

def attributes
  @@attributes
end

#before_visit(visitor) ⇒ Object



1076
1077
1078
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 1076

def before_visit(visitor)
  visitor.before_visit_record(self)
end

#clear_non_persistent_index_attributesObject



995
996
997
998
999
1000
1001
1002
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 995

def clear_non_persistent_index_attributes
  @stamp = nil
  @status = nil
  @httpmethod = nil
  @url = nil
  @request_time = nil
  @scheduled_for_deletion_at = nil
end

#default_persister_formatObject



843
844
845
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 843

def default_persister_format
  @@default_persister_format
end

#execute_as(agent = nil) ⇒ Object



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/deja-vu/model/record.rb', line 32

def execute_as(agent = nil)
  assign_agent(agent) if agent

  resp = nil
  case self.httpmethod
    when 'GET'
      resp = @sess.get(self.url)
    when 'POST'
      resp = @sess.post(self.url)
    when 'PUT'
      resp = @sess.put(self.url)
    when 'DELETE'
      resp = @sess.delete(self.url)
  end

  return resp

#      if resp.status < 400
#        puts resp.body
#      end
#      sess.put("/foo/baz", "some data")
#      sess.delete("/foo/baz")
#      sess.post("/foo/stuff", "some data", {"Content-Type" => "text/plain"})
end

#get_the_indexObject



1064
1065
1066
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 1064

def get_the_index
  @pid
end

#httpmethodObject



926
927
928
929
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 926

def httpmethod
  accessed
  @httpmethod
end

#httpmethod=(v) ⇒ Object



931
932
933
934
935
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 931

def httpmethod=(v)
 accessed
 changed
 @httpmethod = v
end

#indexed_byObject



1060
1061
1062
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 1060

def indexed_by
  :pid
end

#module_nameObject



1052
1053
1054
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 1052

def module_name
  @@module_name
end

#nsObject



1040
1041
1042
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 1040

def ns
  @@ns
end

#ns_tagObject



1044
1045
1046
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 1044

def ns_tag
  @@ns_tag
end

#persisted?Boolean

Returns:

  • (Boolean)


1012
1013
1014
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 1012

def persisted?
  return :pid
end

#pidObject



891
892
893
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 891

def pid
  @pid
end

#pid=(v) ⇒ Object



895
896
897
898
899
900
901
902
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 895

def pid=(v)
  accessed
      # This is kind of optimistic, I think you are in trouble if you do this
  Xampl.auto_uncache(self) if @pid
  @pid = v
  changed
  Xampl.auto_cache(self) if v
end

#request_timeObject



948
949
950
951
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 948

def request_time
  accessed
  @request_time
end

#request_time=(v) ⇒ Object



953
954
955
956
957
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 953

def request_time=(v)
 accessed
 changed
 @request_time = v
end

#safe_nameObject



1048
1049
1050
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 1048

def safe_name
  @@safe_name
end

#scheduled_for_deletion_atObject



959
960
961
962
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 959

def scheduled_for_deletion_at
  accessed
  @scheduled_for_deletion_at
end

#scheduled_for_deletion_at=(v) ⇒ Object



964
965
966
967
968
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 964

def scheduled_for_deletion_at=(v)
 accessed
 changed
 @scheduled_for_deletion_at = v
end

#set_the_index(index) ⇒ Object



1068
1069
1070
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 1068

def set_the_index(index)
  @pid = index
end

#stampObject



904
905
906
907
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 904

def stamp
  accessed
  @stamp
end

#stamp=(v) ⇒ Object



909
910
911
912
913
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 909

def stamp=(v)
 accessed
 changed
 @stamp = v
end

#statusObject



915
916
917
918
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 915

def status
  accessed
  @status
end

#status=(v) ⇒ Object



920
921
922
923
924
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 920

def status=(v)
 accessed
 changed
 @status = v
end

#substitute_in_visit(visitor) ⇒ Object



1072
1073
1074
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 1072

def substitute_in_visit(visitor)
  return visitor.substitute_in_visit_record(self) || self
end

#tagObject



1036
1037
1038
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 1036

def tag
  @@tag
end

#urlObject



937
938
939
940
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 937

def url
  accessed
  @url
end

#url=(v) ⇒ Object



942
943
944
945
946
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 942

def url=(v)
 accessed
 changed
 @url = v
end

#visit(visitor) ⇒ Object



1080
1081
1082
# File 'lib/deja-vu/model/generated_model/DejaVuNS.rb', line 1080

def visit(visitor)
  visitor.visit_record(self)
end