liveblog 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/lib/liveblog.rb +77 -0
- metadata +88 -0
- metadata.gz.sig +4 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 15a732f45a27c55eea7352f47c9212bba818eacf
|
4
|
+
data.tar.gz: 7aebeb3deb806d32974cef6ffe544f76b2188eb2
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 0b1c61fec881d4c3443f71834bf6bf5df97a2e937d8a81466c99750680a1440b37a1aa4e9c2846c78ea4449873e7ad7f69172da61ae596ef3cea421f906c449f
|
7
|
+
data.tar.gz: 356dd829e518e00d5dd596a1926eebb38b8661bb565256974c75d1692df0782cfd00a19affdf1f119b06e6ab87a56956e4b67958ccc4417f33b31ecb79d796f8
|
checksums.yaml.gz.sig
ADDED
Binary file
|
data.tar.gz.sig
ADDED
Binary file
|
data/lib/liveblog.rb
ADDED
@@ -0,0 +1,77 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# file: liveblog.rb
|
4
|
+
|
5
|
+
require 'time'
|
6
|
+
require 'dynarex'
|
7
|
+
require 'fileutils'
|
8
|
+
|
9
|
+
class LiveBlog
|
10
|
+
|
11
|
+
def initialize(liveblogfilepath='.')
|
12
|
+
|
13
|
+
Dir.chdir liveblogfilepath
|
14
|
+
@t = Time.now
|
15
|
+
dxfile = File.join(path(), 'index.xml')
|
16
|
+
@dx = Dynarex.new dxfile if File.exists? dxfile
|
17
|
+
|
18
|
+
end
|
19
|
+
|
20
|
+
def new_file
|
21
|
+
|
22
|
+
s =<<EOF
|
23
|
+
<?dynarex schema="sections[title]/section(x)"?>
|
24
|
+
title: LiveBlog #{ordinalize(@t.day) + @t.strftime(" %B %Y")}
|
25
|
+
--#
|
26
|
+
|
27
|
+
EOF
|
28
|
+
|
29
|
+
FileUtils.mkdir_p path()
|
30
|
+
|
31
|
+
@dx = Dynarex.new
|
32
|
+
@dx.import s
|
33
|
+
@dx.default_key = 'uid'
|
34
|
+
save()
|
35
|
+
|
36
|
+
end
|
37
|
+
|
38
|
+
def add_entry(hashtag, entry)
|
39
|
+
|
40
|
+
a = @dx.all
|
41
|
+
rec = a.find {|section| section.x.lstrip.lines.first =~ /#\s*#{hashtag}/}
|
42
|
+
|
43
|
+
if rec then
|
44
|
+
rec.x += "\n" + entry
|
45
|
+
save()
|
46
|
+
'section entry added'
|
47
|
+
else
|
48
|
+
'rec not found'
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
def add_section(entry)
|
53
|
+
|
54
|
+
@dx.create({x: entry})
|
55
|
+
save()
|
56
|
+
end
|
57
|
+
|
58
|
+
def save()
|
59
|
+
|
60
|
+
@dx.save File.join(path(), 'index.xml')
|
61
|
+
File.write File.join(path(), 'index.txt'), @dx.to_s
|
62
|
+
end
|
63
|
+
|
64
|
+
private
|
65
|
+
|
66
|
+
def path
|
67
|
+
|
68
|
+
File.join [@t.year.to_s, Date::MONTHNAMES[@t.month].downcase[0..2], \
|
69
|
+
@t.day.to_s]
|
70
|
+
end
|
71
|
+
|
72
|
+
def ordinalize(n)
|
73
|
+
n.to_s + ( (10...20).include?(n) ? 'th' :
|
74
|
+
%w{ th st nd rd th th th th th th }[n % 10] )
|
75
|
+
end
|
76
|
+
|
77
|
+
end
|
metadata
ADDED
@@ -0,0 +1,88 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: liveblog
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- James Robertson
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain:
|
11
|
+
- |
|
12
|
+
-----BEGIN CERTIFICATE-----
|
13
|
+
MIIDljCCAn6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBIMRIwEAYDVQQDDAlnZW1t
|
14
|
+
YXN0ZXIxHjAcBgoJkiaJk/IsZAEZFg5qYW1lc3JvYmVydHNvbjESMBAGCgmSJomT
|
15
|
+
8ixkARkWAmV1MB4XDTE1MDMxMjIzNDEzOVoXDTE2MDMxMTIzNDEzOVowSDESMBAG
|
16
|
+
A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
|
17
|
+
EjAQBgoJkiaJk/IsZAEZFgJldTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
|
18
|
+
ggEBAK3liU6rFtXLhC9XtFBW1E9cE2i7mDK6TnYbUaKRzKJHCM9Meoxu0c12dKDj
|
19
|
+
iQ5j+i6+muTF58c9f2YElqipWlM69d30cIQu6n7K/yJFKzHmqOmV6sdOh3ilPpOP
|
20
|
+
2QGxkMthA5n/PeH1MlEEAA0FrfKGpDEn0YX+hkZF7b5mZc/dtSQsjb4BaxQDFhm+
|
21
|
+
kgWG6urVVTpwVaLQ+cbaFHIjPy+LIoUCYt/+4wEiL4CWNCYEph3NvKVDjs0/VYfM
|
22
|
+
TswU2OHgPVrNcQxy2bUHQ7JFK1sH1TJA5wh2bKHdVN6vsVOd7AgT2eRYvVD3/KHf
|
23
|
+
l/ElgdZdNpYZKYHQ0ndNIgqJCKMCAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
|
24
|
+
DwQEAwIEsDAdBgNVHQ4EFgQUALj67aBbm6G2OzoII0CLfVAyB/MwJgYDVR0RBB8w
|
25
|
+
HYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1h
|
26
|
+
c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEAGyUMy4Ph
|
27
|
+
yHp82KEvvD+PJIz7GExtX6rGFslNH7nvGiY+OWwasGAIc3+5ApYrV95e99fYQUGH
|
28
|
+
aVaaHly+MOqjjyt90uNXJiVBNyEFzGjnjQqlB13tv4NSfzFKJcUuMbrK2KYWnBpr
|
29
|
+
/07ftvHeNU6zVJ62jOoNl70k9kU0NIGhkuicdHlaRHHSLb7phjLH/mnmBAKzcCxH
|
30
|
+
/QdbNf7AXe3vo8vzK4W7cK92lJHFcrWc57mZHQBb3DvjpWVCVfo4gbqr5RhhpiAy
|
31
|
+
WoOSxvsTN7qoA8F0W4mkDpf+HhHxBOLTPykcHMIlx2gILLnNraaZ1rJlZAqWABGj
|
32
|
+
v8lGgeeqqjd5QA==
|
33
|
+
-----END CERTIFICATE-----
|
34
|
+
date: 2015-03-12 00:00:00.000000000 Z
|
35
|
+
dependencies:
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: dynarex
|
38
|
+
requirement: !ruby/object:Gem::Requirement
|
39
|
+
requirements:
|
40
|
+
- - "~>"
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: '1.5'
|
43
|
+
- - ">="
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 1.5.2
|
46
|
+
type: :runtime
|
47
|
+
prerelease: false
|
48
|
+
version_requirements: !ruby/object:Gem::Requirement
|
49
|
+
requirements:
|
50
|
+
- - "~>"
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: '1.5'
|
53
|
+
- - ">="
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: 1.5.2
|
56
|
+
description:
|
57
|
+
email: james@r0bertson.co.uk
|
58
|
+
executables: []
|
59
|
+
extensions: []
|
60
|
+
extra_rdoc_files: []
|
61
|
+
files:
|
62
|
+
- lib/liveblog.rb
|
63
|
+
homepage: https://github.com/jrobertson/liveblog
|
64
|
+
licenses:
|
65
|
+
- MIT
|
66
|
+
metadata: {}
|
67
|
+
post_install_message:
|
68
|
+
rdoc_options: []
|
69
|
+
require_paths:
|
70
|
+
- lib
|
71
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
77
|
+
requirements:
|
78
|
+
- - ">="
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
version: '0'
|
81
|
+
requirements: []
|
82
|
+
rubyforge_project:
|
83
|
+
rubygems_version: 2.2.2
|
84
|
+
signing_key:
|
85
|
+
specification_version: 4
|
86
|
+
summary: Uses the Dynarex gem to create a daily live blog. Convenient for grouping
|
87
|
+
together microblog posts
|
88
|
+
test_files: []
|
metadata.gz.sig
ADDED