koios 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 2d4603d2b6665a5d53c46c99a2c62f6aaacf7614
4
+ data.tar.gz: b800b43a35ce37c939ba2c4c35aa605a4b1cff2e
5
+ SHA512:
6
+ metadata.gz: 9a375a282993b40c2719aec6800f65aba048df9a996acb3993d68a25bde1a4dfe67b46f46205abdd49866bc9645bee15cbbc8c3d23de95c7660904022ca3edae
7
+ data.tar.gz: 2029a828b9a53a50faa5f73e6ba6ac537b41cd0231395d42c48efabaf2977a35111a87070b0c05396043aa891e89ad63f96551d6abd9c7d24a0fc068cf17e6e0
File without changes
File without changes
@@ -0,0 +1 @@
1
+ require 'koios/doc'
@@ -0,0 +1,174 @@
1
+ module Koios
2
+ class Doc
3
+ def self.write(&content)
4
+ instance = self.new
5
+
6
+ instance.extend_string
7
+ String.koios = instance
8
+
9
+ instance.content = instance.instance_eval(&content)
10
+
11
+ instance.unextend_string
12
+
13
+ instance.to_s
14
+ end
15
+
16
+ def to_s
17
+ @content.join("\n") + "\n"
18
+ end
19
+
20
+ def p(*args)
21
+ "\n" + args.join('')
22
+ end
23
+
24
+ def h1(*args)
25
+ args.join('').h1
26
+ end
27
+
28
+ def h2(*args)
29
+ args.join('').h2
30
+ end
31
+
32
+ def h3(*args)
33
+ args.join('').h3
34
+ end
35
+
36
+ def h4(*args)
37
+ args.join('').h4
38
+ end
39
+
40
+ def h5(*args)
41
+ args.join('').h5
42
+ end
43
+
44
+ def h6(*args)
45
+ args.join('').h6
46
+ end
47
+
48
+ def a(url, content = nil)
49
+ c = content || url
50
+ url.link_to c
51
+ end
52
+
53
+ def img(url, alt = nil)
54
+ url.img alt
55
+ end
56
+
57
+ def code(*args)
58
+ "\n```\n" + args.join("\n") + "\n```"
59
+ end
60
+
61
+ def code_for(lang, *args)
62
+ "\n```#{lang}\n" + args.join("\n") + "\n```"
63
+ end
64
+
65
+ def ul(items)
66
+ list = items.map { |item| "- #{item}" }.join("\n")
67
+ "\n#{list}"
68
+ end
69
+
70
+ def ol(items)
71
+ list = items.map.with_index { |item, i| "#{i + 1}. #{item}" }.join("\n")
72
+ "\n#{list}"
73
+ end
74
+
75
+ def initialize
76
+ @content = []
77
+ end
78
+
79
+ def extend_string
80
+ String.class_eval do
81
+ class << self
82
+ def koios=(koios)
83
+ @@koios = koios
84
+ end
85
+ end
86
+
87
+ def h1
88
+ h(self, 1)
89
+ end
90
+
91
+ def h2
92
+ h(self, 2)
93
+ end
94
+
95
+ def h3
96
+ h(self, 3)
97
+ end
98
+
99
+ def h4
100
+ h(self, 4)
101
+ end
102
+
103
+ def h5
104
+ h(self, 5)
105
+ end
106
+
107
+ def h6
108
+ h(self, 6)
109
+ end
110
+
111
+ def break_line
112
+ self + " \n"
113
+ end
114
+
115
+ def link_to(content = nil)
116
+ c = content || self
117
+ "[#{c}](#{self})"
118
+ end
119
+
120
+ def img(alt = nil)
121
+ label = alt || ""
122
+ "![#{label}](#{self})"
123
+ end
124
+
125
+ def italic
126
+ "_#{self}_"
127
+ end
128
+
129
+ def bold
130
+ "**#{self}**"
131
+ end
132
+
133
+ def strikethrough
134
+ "~~#{self}~~"
135
+ end
136
+
137
+ def code
138
+ "`#{self}`"
139
+ end
140
+
141
+ private
142
+ def h(content, level)
143
+ "\n#{"#" * level} #{content}"
144
+ end
145
+ end
146
+ end
147
+
148
+ def unextend_string
149
+ String.class_eval do
150
+ remove_method :h1
151
+ remove_method :h2
152
+ remove_method :h3
153
+ remove_method :h4
154
+ remove_method :h5
155
+ remove_method :h6
156
+ remove_method :break_line
157
+ remove_method :link_to
158
+ remove_method :img
159
+ remove_method :italic
160
+ remove_method :bold
161
+ remove_method :strikethrough
162
+ remove_method :code
163
+
164
+ class << self
165
+ remove_method :koios=
166
+ end
167
+ end
168
+ end
169
+
170
+ def content=(arr)
171
+ @content = arr
172
+ end
173
+ end
174
+ end
metadata ADDED
@@ -0,0 +1,176 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: koios
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Yves Brissaud
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-02-27 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rspec
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '3.3'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 3.3.0
23
+ type: :development
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '3.3'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 3.3.0
33
+ - !ruby/object:Gem::Dependency
34
+ name: guard
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '2.13'
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: 2.13.0
43
+ type: :development
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '2.13'
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: 2.13.0
53
+ - !ruby/object:Gem::Dependency
54
+ name: guard-rspec
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: '4.6'
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: 4.6.4
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '4.6'
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: 4.6.4
73
+ - !ruby/object:Gem::Dependency
74
+ name: simplecov
75
+ requirement: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - "~>"
78
+ - !ruby/object:Gem::Version
79
+ version: '0.10'
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: 0.10.0
83
+ type: :development
84
+ prerelease: false
85
+ version_requirements: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '0.10'
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ version: 0.10.0
93
+ - !ruby/object:Gem::Dependency
94
+ name: cucumber
95
+ requirement: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - "~>"
98
+ - !ruby/object:Gem::Version
99
+ version: '2.3'
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: 2.3.2
103
+ type: :development
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '2.3'
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ version: 2.3.2
113
+ - !ruby/object:Gem::Dependency
114
+ name: guard-cucumber
115
+ requirement: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - "~>"
118
+ - !ruby/object:Gem::Version
119
+ version: '2.0'
120
+ type: :development
121
+ prerelease: false
122
+ version_requirements: !ruby/object:Gem::Requirement
123
+ requirements:
124
+ - - "~>"
125
+ - !ruby/object:Gem::Version
126
+ version: '2.0'
127
+ - !ruby/object:Gem::Dependency
128
+ name: rake
129
+ requirement: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - "~>"
132
+ - !ruby/object:Gem::Version
133
+ version: '10.5'
134
+ type: :development
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ requirements:
138
+ - - "~>"
139
+ - !ruby/object:Gem::Version
140
+ version: '10.5'
141
+ description: A little helper to write markdown in ruby.
142
+ email: yves.brissaud@gmail.com
143
+ executables:
144
+ - ".gitignore"
145
+ extensions: []
146
+ extra_rdoc_files: []
147
+ files:
148
+ - bin/.gitignore
149
+ - lib/.gitignore
150
+ - lib/koios.rb
151
+ - lib/koios/doc.rb
152
+ homepage: https://github.com/eunomie/koios
153
+ licenses:
154
+ - MIT
155
+ metadata: {}
156
+ post_install_message:
157
+ rdoc_options: []
158
+ require_paths:
159
+ - lib
160
+ required_ruby_version: !ruby/object:Gem::Requirement
161
+ requirements:
162
+ - - ">="
163
+ - !ruby/object:Gem::Version
164
+ version: '0'
165
+ required_rubygems_version: !ruby/object:Gem::Requirement
166
+ requirements:
167
+ - - ">="
168
+ - !ruby/object:Gem::Version
169
+ version: '0'
170
+ requirements: []
171
+ rubyforge_project:
172
+ rubygems_version: 2.5.1
173
+ signing_key:
174
+ specification_version: 4
175
+ summary: Markdown writer
176
+ test_files: []