Class: Ape::Samples

Inherits:
Object
  • Object
show all
Defined in:
lib/ape/samples.rb

Constant Summary collapse

@@service_schema =
nil
@@categories_schema =
nil
@@atom_schema =
nil
@@home =
nil

Class Method Summary collapse

Class Method Details

.atom_RNCObject



50
51
52
53
# File 'lib/ape/samples.rb', line 50

def Samples.atom_RNC
  @@atom_schema = load_schema('atom') unless @@atom_schema
  @@atom_schema
end

.basic_entryObject



93
94
95
96
97
98
99
100
101
102
103
# File 'lib/ape/samples.rb', line 93

def Samples.basic_entry
  eruby = load_template('basic_entry')
  
  id = make_id
  now = DateTime::now.strftime("%Y-%m-%dT%H:%M:%S%z").sub(/(..)$/, ':\1')
  title = Escaper.escape('From the <APE> (サル)')
  summary = "Summary from the &lt;b>&amp;lt;&amp;nbsp;APE&amp;nbsp;>&lt;/b> at #{now}"
  subject = Names::DcNamespace
  
  eruby.result(binding())
end

.cat_test_entryObject



114
115
116
# File 'lib/ape/samples.rb', line 114

def Samples.cat_test_entry
  e = retitled_entry('Testing category posting')
end

.categories_RNCObject



45
46
47
48
# File 'lib/ape/samples.rb', line 45

def Samples.categories_RNC
  @@categories_schema = load_schema('categories') unless @@categories_schema
  @@categories_schema
end

.entry_path(type) ⇒ Object



71
72
73
74
75
# File 'lib/ape/samples.rb', line 71

def Samples.entry_path(type)
  File.exist?(File.join(home, "/#{type}.eruby"))?
    File.join(home, "/#{type}.eruby") :
    File.join(File.dirname(__FILE__), "/samples/#{type}.eruby")
end

.foreign_childObject



20
21
22
# File 'lib/ape/samples.rb', line 20

def Samples.foreign_child
  'subject'
end

.foreign_child_contentObject



26
27
28
# File 'lib/ape/samples.rb', line 26

def Samples.foreign_child_content
  'Simians'
end

.foreign_namespaceObject



23
24
25
# File 'lib/ape/samples.rb', line 23

def Samples.foreign_namespace
  Names::DcNamespace
end

.homeObject



61
62
63
# File 'lib/ape/samples.rb', line 61

def Samples.home
  @@home || ENV["APE_HOME"] || File.join(home_directory,".ape")
end

.home=(home) ⇒ Object



16
17
18
# File 'lib/ape/samples.rb', line 16

def Samples.home=(home)
  @@home = home
end

.home_directoryObject

recipe from cap



56
57
58
59
# File 'lib/ape/samples.rb', line 56

def Samples.home_directory
    ENV["HOME"] || (ENV["HOMEPATH"] && "#{ENV["HOMEDRIVE"]}#{ENV["HOMEPATH"]}") ||
        "/"
end

.load_schema(file_name) ⇒ Object



30
31
32
33
34
35
36
37
38
# File 'lib/ape/samples.rb', line 30

def Samples.load_schema(file_name)
  schema = ""
  File.open(File.join(File.dirname(__FILE__), "/samples/#{file_name}_schema.txt")) do |file|
    while(line = file.gets)
      schema << line
    end
  end
  schema
end

.load_template(type) ⇒ Object



77
78
79
80
81
# File 'lib/ape/samples.rb', line 77

def Samples.load_template(type)
  entry_path = entry_path(type)
  input = File.read(entry_path)
  eruby = Erubis::Eruby.new(input)
end

.make_idObject



65
66
67
68
69
# File 'lib/ape/samples.rb', line 65

def Samples.make_id
  id = ''
  5.times { id += rand(1000000).to_s }
  "tag:tbray.org,2005:#{id}"
end

.mini_entryObject



84
85
86
87
88
89
90
91
# File 'lib/ape/samples.rb', line 84

def Samples.mini_entry
  eruby = load_template('mini_entry')
  
  now = DateTime::now.strftime("%Y-%m-%dT%H:%M:%S%z").sub(/(..)$/, ':\1')
  id = make_id
  
  eruby.result(binding())
end

.pictureObject



125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
# File 'lib/ape/samples.rb', line 125

def Samples.picture
b64 =<<END_OF_PICTURE
/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQE
BQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/
2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU
FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAA8AEYDASIAAhEBAxEB/8QA
HwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUF
BAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkK
FhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1
dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXG
x8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEB
AQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAEC
AxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRom
JygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE
hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU
1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD5fgS0knaT
7C4UddzHINab3lrboz/2ezop5LAnj3qtbK1xJbwbcZYZwc4GeprpZLNZY5Tu
Ai8skhjgHk5FfJNtWVm/m/8Agn7M6dOGzSdvzdvKxl2VzaAec2n7uMqDnBHr
W1FPEY7YDTrVYXUNl5fw/wAf0qjps0NzbCEMUZMBhnJz9PwqzZbISIpQj27s
A+4ZK99w/wAKycU229fm/wDM9aVDlhF09uv9eRrG6jmgeGLTrR2kPG2T5uMe
/wDnNcnrGuxpdGMWCM4cR7V+bkehzXSatJBo4S3sZFkmkQ75x0QZ7H1965z7
MjIxDsAEJyTkgY5b9KjlitV+N/yuXSoyrO/T835FKe/Ms8khsMFRtIwR2780
77bGqQObHZORwgz8wHGRz6/yqOxkZmnO1isjYXeMZB4yPyqvrSJa30DF2bdu
4TtycZq7Nbp2stdTgapyqciaerTXp899uhFc6qLmQg23X5iTxz9aKZes0RRX
yxA+7n9aK6YcvKrq/wAzkr4W1R8rsu1rnSWD2UcLPIgE3BIDHJPt7ZqBXmiv
ZnuSTaMCpUAHy89P8j1pdKtGe7jllI+i84H9TW7JIt/PLYCGREyfKbachu5P
P/6q578rf3/1/X/B6mkopTV2/wAv6X4fNRp4ZitLQXsLZlUL8p5LAjg/XFVz
fRKky+YMbCd7L19himadPLat9lD5jALKqtyuPT2961bfT4LlELQA+ZuyVXJz
nrWMlKKbk9j0KOIVLlp2321f/D9bmH9uihxNJgKNqnjJxjJx+NFuh1RONjRE
gkgYIHOFH+eK0tV0m3adDFEjgEbuM5yAc5z+lVpA+nRGOMrGGOPNPAXHO0de
abkqvNKP9alLETgoULJfPy+X6kGqWovJRaQqqxx4DzoM9Ow9ag8iNmeN4wXG
V3tgluevsa0WlSw0uS5hj82RW2kOp2ITzuPHX6etQ3CJcWkdyymJpGLbTxsI
/iXjp9aiOiv8vnv+Wv8AWtT9m6iw6Wq6+d7Wt2vp6+W3NyqtlIEm6c7XKZ9O
MGirjz/aUDOFkOfvOOG9+aK9OnhnUipXt8m/0PCq5p7Cbpyim115kv1ROzSy
SR3UK5jx8yg8tzXW3Gtw3Gm26QQBbtkCO6DmQjp2yP61yGk34SQIGco5ypHY
9s1q2MS2l1LdKCNg3le3ORj8a5uTbmt5f1/XT5ae1UVZpvr3/r0/4ZpNp76X
Os2AZW6KTgZJ6Y9OKgOszpAyu6IEPAKA5IPT2qxFeG/Xz5mbzpAQikFsL6/l
WXcp5832e2KuZPmKsCNo9/50KN07nalCmvaTev8AwxqrqNxe2kzI0RkGAFMa
7j1PXHHpVqKZLm3WK+aOUld5IbAb6+9Zl5af2WqnzQ1lN0lQcbsY4PXr61Qa
5JixvIJbCgDGCO9KUFq1szWm4VaSS0kvw/H8jcivItPlSDasqEfJuAAYd1PH
A9aoavOt3O4wTC5y74+97cDoMdRUEc39p2brONoiOHOcYb1pmrShII7W2Oc8
LzyB2rPka1fb+v8AP8fSXiVN8qXv7X8lv/lfsmvWhqBF5MiWsqQhF+ZiePoK
KpzfuI1C/OqkqV2d/WiuqMqkFaLsjklh8K3erFN9/wCmSaNqBSPdNE5KkMML
1561tJrqSSylbaQh49oXgdjyea5S21W5ReJPb8KvW2sXQlzvByhPI+tdUqDb
TaX3v/I+bjjHy2v+C/UmfWjazbYopHToQeorSj1WGGzkRSwuZT+8kdSSB/d6
dKw/t0skr7tp2kAfKKsapqs4kiAKjChshRnOBS9k7ar8f+AavFyqa30Xl/wT
RjvtkDW8zs9q+NyMh+96ism4umR9kSSSgEqrn+Jc/pSf23ds0zFwdvIBUYzV
aLU55DG5Khj3CipdKTbdlr5/8A1hifZ2af8AX3luDUC0dxCySoJG3byBj8fy
qG71KW4nSRomwq7CV4OO2KonVLgblDAAcDAqAanO8+0kADngURoXbdvxZM8Y
001+n/Dk41B8ZaFmx8oyx6UVVn1m5jRCGXOMfdorRU2lqvx/4BhPFzlK6lb5
I//Z
END_OF_PICTURE
  Base64.decode64(b64)
end

.retitled_entry(new_title, new_id = nil) ⇒ Object



118
119
120
121
122
123
# File 'lib/ape/samples.rb', line 118

def Samples.retitled_entry(new_title, new_id = nil)
  e = basic_entry
  e.gsub!(/<title>.*<\/title>/, "<title>#{new_title}</title>")
  new_id = make_id unless new_id
  e.gsub(/<id>.*<\/id>/, "<id>#{new_id}</id>")
end

.service_RNCObject



40
41
42
43
# File 'lib/ape/samples.rb', line 40

def Samples.service_RNC
  @@service_schema = load_schema('service') unless @@service_schema
  @@service_schema
end

.unclean_xhtml_entryObject



105
106
107
108
109
110
111
112
# File 'lib/ape/samples.rb', line 105

def Samples.unclean_xhtml_entry
  eruby = load_template('unclean_xhtml_entry')
  
  id = make_id
  now = DateTime::now.strftime("%Y-%m-%dT%H:%M:%S%z").sub(/(..)$/, ':\1')
  
  eruby.result(binding())
end