comment_extractor 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.md +132 -0
  4. data/bin/comment_parser_debug +45 -0
  5. data/lib/comment_extractor/code_object/comment.rb +19 -0
  6. data/lib/comment_extractor/code_object.rb +12 -0
  7. data/lib/comment_extractor/code_objects.rb +46 -0
  8. data/lib/comment_extractor/configuration.rb +50 -0
  9. data/lib/comment_extractor/encoding.rb +40 -0
  10. data/lib/comment_extractor/extractor/c.rb +8 -0
  11. data/lib/comment_extractor/extractor/cc.rb +8 -0
  12. data/lib/comment_extractor/extractor/class.rb +8 -0
  13. data/lib/comment_extractor/extractor/clojure.rb +11 -0
  14. data/lib/comment_extractor/extractor/coffee.rb +13 -0
  15. data/lib/comment_extractor/extractor/concerns/simple_extractor.rb +189 -0
  16. data/lib/comment_extractor/extractor/concerns/slash_extractor.rb +16 -0
  17. data/lib/comment_extractor/extractor/cpp.rb +8 -0
  18. data/lib/comment_extractor/extractor/cs.rb +8 -0
  19. data/lib/comment_extractor/extractor/css.rb +8 -0
  20. data/lib/comment_extractor/extractor/cxx.rb +8 -0
  21. data/lib/comment_extractor/extractor/d.rb +9 -0
  22. data/lib/comment_extractor/extractor/erlang.rb +12 -0
  23. data/lib/comment_extractor/extractor/fortran.rb +11 -0
  24. data/lib/comment_extractor/extractor/go.rb +8 -0
  25. data/lib/comment_extractor/extractor/h.rb +8 -0
  26. data/lib/comment_extractor/extractor/haml.rb +49 -0
  27. data/lib/comment_extractor/extractor/haskell.rb +12 -0
  28. data/lib/comment_extractor/extractor/hpp.rb +8 -0
  29. data/lib/comment_extractor/extractor/html.rb +13 -0
  30. data/lib/comment_extractor/extractor/java.rb +8 -0
  31. data/lib/comment_extractor/extractor/java_script.rb +12 -0
  32. data/lib/comment_extractor/extractor/lisp.rb +11 -0
  33. data/lib/comment_extractor/extractor/lua.rb +12 -0
  34. data/lib/comment_extractor/extractor/m.rb +9 -0
  35. data/lib/comment_extractor/extractor/markdown.rb +7 -0
  36. data/lib/comment_extractor/extractor/mm.rb +8 -0
  37. data/lib/comment_extractor/extractor/perl.rb +12 -0
  38. data/lib/comment_extractor/extractor/php.rb +8 -0
  39. data/lib/comment_extractor/extractor/python.rb +13 -0
  40. data/lib/comment_extractor/extractor/ruby.rb +40 -0
  41. data/lib/comment_extractor/extractor/sass.rb +8 -0
  42. data/lib/comment_extractor/extractor/scala.rb +8 -0
  43. data/lib/comment_extractor/extractor/scss.rb +8 -0
  44. data/lib/comment_extractor/extractor/shell.rb +11 -0
  45. data/lib/comment_extractor/extractor/sqf.rb +8 -0
  46. data/lib/comment_extractor/extractor/sql.rb +12 -0
  47. data/lib/comment_extractor/extractor/sqs.rb +7 -0
  48. data/lib/comment_extractor/extractor/tex.rb +12 -0
  49. data/lib/comment_extractor/extractor/text.rb +10 -0
  50. data/lib/comment_extractor/extractor/yaml.rb +12 -0
  51. data/lib/comment_extractor/extractor.rb +96 -0
  52. data/lib/comment_extractor/extractor_manager.rb +158 -0
  53. data/lib/comment_extractor/file.rb +42 -0
  54. data/lib/comment_extractor/parser.rb +33 -0
  55. data/lib/comment_extractor/smart_string_scanner.rb +11 -0
  56. data/lib/comment_extractor/version.rb +4 -0
  57. data/lib/comment_extractor.rb +18 -0
  58. data/spec/assets/binary_file +0 -0
  59. data/spec/assets/shebang_file +3 -0
  60. data/spec/assets/source_code/c.c +158 -0
  61. data/spec/assets/source_code/cc.cc +24 -0
  62. data/spec/assets/source_code/class +0 -0
  63. data/spec/assets/source_code/clojure.clj +41 -0
  64. data/spec/assets/source_code/coffee.coffee +27 -0
  65. data/spec/assets/source_code/cpp.cpp +130 -0
  66. data/spec/assets/source_code/cs.cs +53 -0
  67. data/spec/assets/source_code/css.css +37 -0
  68. data/spec/assets/source_code/cxx +0 -0
  69. data/spec/assets/source_code/d.d +110 -0
  70. data/spec/assets/source_code/erlang.es +34 -0
  71. data/spec/assets/source_code/fortran.f +41 -0
  72. data/spec/assets/source_code/golang.go +61 -0
  73. data/spec/assets/source_code/h +0 -0
  74. data/spec/assets/source_code/haml.haml +26 -0
  75. data/spec/assets/source_code/haskell.hs +36 -0
  76. data/spec/assets/source_code/hpp +0 -0
  77. data/spec/assets/source_code/html.html +139 -0
  78. data/spec/assets/source_code/java.java +39 -0
  79. data/spec/assets/source_code/java_script.js +164 -0
  80. data/spec/assets/source_code/lisp.el +18 -0
  81. data/spec/assets/source_code/lua.lua +34 -0
  82. data/spec/assets/source_code/m +0 -0
  83. data/spec/assets/source_code/mm +0 -0
  84. data/spec/assets/source_code/perl.pl +36 -0
  85. data/spec/assets/source_code/php.php +31 -0
  86. data/spec/assets/source_code/python.py +139 -0
  87. data/spec/assets/source_code/ruby.rb +36 -0
  88. data/spec/assets/source_code/sass.sass +77 -0
  89. data/spec/assets/source_code/scala.scala +46 -0
  90. data/spec/assets/source_code/scss.scss +93 -0
  91. data/spec/assets/source_code/shell.sh +5 -0
  92. data/spec/assets/source_code/sqf +0 -0
  93. data/spec/assets/source_code/sql.sql +11 -0
  94. data/spec/assets/source_code/sqs +0 -0
  95. data/spec/assets/source_code/tex.tex +20 -0
  96. data/spec/assets/source_code/text.txt +15 -0
  97. data/spec/assets/source_code/vim +17 -0
  98. data/spec/assets/source_code/yaml.yml +44 -0
  99. data/spec/assets/stripper/children/children +0 -0
  100. data/spec/assets/stripper/children/children.c +0 -0
  101. data/spec/assets/stripper/children/children.js +0 -0
  102. data/spec/assets/stripper/children/children.o +0 -0
  103. data/spec/assets/stripper/children/children.rb +1 -0
  104. data/spec/assets/stripper/test +0 -0
  105. data/spec/assets/stripper/test.c +0 -0
  106. data/spec/assets/stripper/test.js +0 -0
  107. data/spec/assets/stripper/test.o +0 -0
  108. data/spec/assets/stripper/test.rb +1 -0
  109. data/spec/comment_extractor/code_object/comment_spec.rb +15 -0
  110. data/spec/comment_extractor/code_object_spec.rb +18 -0
  111. data/spec/comment_extractor/code_objects_spec.rb +66 -0
  112. data/spec/comment_extractor/configuration_spec.rb +68 -0
  113. data/spec/comment_extractor/encoding_spec.rb +77 -0
  114. data/spec/comment_extractor/extractor/c_spec.rb +9 -0
  115. data/spec/comment_extractor/extractor/cc_spec.rb +9 -0
  116. data/spec/comment_extractor/extractor/class_spec.rb +9 -0
  117. data/spec/comment_extractor/extractor/clojure_spec.rb +9 -0
  118. data/spec/comment_extractor/extractor/coffee_spec.rb +9 -0
  119. data/spec/comment_extractor/extractor/cpp_spec.rb +9 -0
  120. data/spec/comment_extractor/extractor/cs_spec.rb +9 -0
  121. data/spec/comment_extractor/extractor/css_spec.rb +9 -0
  122. data/spec/comment_extractor/extractor/cxx_spec.rb +9 -0
  123. data/spec/comment_extractor/extractor/d_spec.rb +10 -0
  124. data/spec/comment_extractor/extractor/erlang_spec.rb +10 -0
  125. data/spec/comment_extractor/extractor/fortran_spec.rb +9 -0
  126. data/spec/comment_extractor/extractor/go_spec.rb +9 -0
  127. data/spec/comment_extractor/extractor/h_spec.rb +9 -0
  128. data/spec/comment_extractor/extractor/haml_spec.rb +9 -0
  129. data/spec/comment_extractor/extractor/haskell_spec.rb +9 -0
  130. data/spec/comment_extractor/extractor/hpp_spec.rb +9 -0
  131. data/spec/comment_extractor/extractor/html_spec.rb +9 -0
  132. data/spec/comment_extractor/extractor/java_script_spec.rb +10 -0
  133. data/spec/comment_extractor/extractor/java_spec.rb +9 -0
  134. data/spec/comment_extractor/extractor/lisp_spec.rb +9 -0
  135. data/spec/comment_extractor/extractor/lua_spec.rb +9 -0
  136. data/spec/comment_extractor/extractor/m_spec.rb +9 -0
  137. data/spec/comment_extractor/extractor/markdown_spec.rb +8 -0
  138. data/spec/comment_extractor/extractor/mm_spec.rb +9 -0
  139. data/spec/comment_extractor/extractor/perl_spec.rb +9 -0
  140. data/spec/comment_extractor/extractor/php_spec.rb +9 -0
  141. data/spec/comment_extractor/extractor/python_spec.rb +9 -0
  142. data/spec/comment_extractor/extractor/ruby_spec.rb +12 -0
  143. data/spec/comment_extractor/extractor/sass_spec.rb +9 -0
  144. data/spec/comment_extractor/extractor/scala_spec.rb +9 -0
  145. data/spec/comment_extractor/extractor/scss_spec.rb +9 -0
  146. data/spec/comment_extractor/extractor/shell_spec.rb +9 -0
  147. data/spec/comment_extractor/extractor/sqf_spec.rb +9 -0
  148. data/spec/comment_extractor/extractor/sql_spec.rb +9 -0
  149. data/spec/comment_extractor/extractor/sqs_spec.rb +9 -0
  150. data/spec/comment_extractor/extractor/tex_spec.rb +9 -0
  151. data/spec/comment_extractor/extractor/text_spec.rb +7 -0
  152. data/spec/comment_extractor/extractor/yaml_spec.rb +9 -0
  153. data/spec/comment_extractor/extractor_manager_spec.rb +233 -0
  154. data/spec/comment_extractor/extractor_spec.rb +102 -0
  155. data/spec/comment_extractor/file_spec.rb +100 -0
  156. data/spec/comment_extractor/parser_spec.rb +67 -0
  157. data/spec/comment_extractor/smart_string_scanner_spec.rb +24 -0
  158. data/spec/comment_extractor/version_spec.rb +8 -0
  159. data/spec/comment_extractor_spec.rb +15 -0
  160. data/spec/spec_helper.rb +22 -0
  161. data/spec/support/rspec/comment_extractor/extractor_example_group.rb +115 -0
  162. data/spec/support/rspec/comment_extractor/matchers/extract_comment.rb +58 -0
  163. data/spec/support/rspec/comment_extractor/matchers.rb +7 -0
  164. data/spec/support/rspec/comment_extractor.rb +6 -0
  165. metadata +370 -0
@@ -0,0 +1,34 @@
1
+ --[-1-]Attribution-Share Alike 3.0 License, copyright (c) 2010 Pieter Hintjens, modified @alpaca-tc
2
+ --[-2-] Demonstrate identities as used by the request-reply pattern. Run this
3
+ --[-3-] program by itself. Note that the utility functions s_ are provided by
4
+ --[-4-] zhelpers.h. It gets boring for everyone to keep repeating this code.
5
+ --[-5-]
6
+ --[-6-] Author: Robert G. Jakabosky <bobby@sharedrealm.com>
7
+ --[-7-]
8
+ require"zmq"
9
+ require"zhelpers"
10
+
11
+ local context = zmq.init(1)
12
+
13
+ local sink = context:socket(zmq.ROUTER)
14
+ sink:bind("inproc://example")
15
+
16
+ --[-16-] First allow 0MQ to set the identity
17
+ local anonymous = context:socket(zmq.REQ)
18
+ anonymous:connect("inproc://example")
19
+ anonymous:send("ROUTER uses a generated UUID")
20
+ s_dump(sink)
21
+
22
+ --[[[-22-]
23
+ [-23-]
24
+ ]]
25
+ local identified = context:socket(zmq.REQ) --[-25-] Then set the identity ourselves
26
+ identified:setopt(zmq.IDENTITY, "PEER2")
27
+ identified:connect("inproc://example")
28
+ identified:send("ROUTER socket uses REQ's socket identity")
29
+ s_dump(sink)
30
+
31
+ sink:close()
32
+ anonymous:close()
33
+ identified:close()
34
+ context:term()
File without changes
File without changes
@@ -0,0 +1,36 @@
1
+
2
+ =pod[-2-]
3
+ [-3-]Attribution-Share Alike 3.0 License, copyright (c) 2010 Pieter Hintjens, modified @alpaca-tc
4
+ [-4-]Hello World server
5
+ [-5-]
6
+ [-6-]Connects REP socket to tcp://*:5560
7
+ [-7-]
8
+ [-8-]Expects "Hello" from client, replies with "World"
9
+ [-9-]
10
+ [-10-]Author: Daisuke Maki (lestrrat)
11
+ [-11-]Original version Author: Alexander D'Archangel (darksuji) <darksuji(at)gmail(dot)com>
12
+ [-12-]
13
+ =cut
14
+
15
+ use strict;
16
+ use warnings;
17
+ use 5.10.0;
18
+
19
+ use ZMQ::LibZMQ3;
20
+ use ZMQ::Constants qw(ZMQ_REP);
21
+ use zhelpers;
22
+
23
+ my $context = zmq_init();
24
+
25
+ #[-25-] Socket to talk to clients
26
+ my $responder = zmq_socket($context, ZMQ_REP);
27
+ zmq_connect($responder, 'tcp://localhost:5560');
28
+
29
+ while (1) {
30
+ my $string = s_recv($responder); #[-30-] Wait for next request from client
31
+ say "Received request: [$string]";
32
+
33
+ sleep (1);
34
+
35
+ s_send($responder, 'World');
36
+ }
@@ -0,0 +1,31 @@
1
+ <?php
2
+ /*[-2-]Attribution-Share Alike 3.0 License, copyright (c) 2010 Pieter Hintjens, modified @alpaca-tc
3
+ [-3-]Lazy Pirate client
4
+ [-4-]Use zmq_poll to do a safe request-reply
5
+ [-5-]To run, start lpserver and then randomly kill/restart it
6
+ [-6-]
7
+ [-7-]@author Ian Barber <ian(dot)barber(at)gmail(dot)com>
8
+ [-8-][-end-]*/
9
+
10
+ define("REQUEST_TIMEOUT", 2500); //[-10-] msecs, (> 1000!)
11
+ define("REQUEST_RETRIES", 3); //[-11-] Before we abandon
12
+
13
+ function client_socket(ZMQContext $context)
14
+ {
15
+ echo "I: connecting to server...", PHP_EOL;
16
+ $client = new ZMQSocket($context,ZMQ::SOCKET_REQ);
17
+ $client->connect("tcp://localhost:5555");
18
+
19
+ //[-19-] Configure socket to not wait at close time
20
+ $client->setSockOpt(ZMQ::SOCKOPT_LINGER, 0);
21
+ /*[-21-] [-end-]*/
22
+
23
+ return $client;
24
+ }
25
+
26
+ $context = new ZMQContext();
27
+ $client = client_socket($context);
28
+
29
+ $sequence = 0;
30
+ $retries_left = REQUEST_RETRIES;
31
+ $read = $write = array();
@@ -0,0 +1,139 @@
1
+ """[-1-]Attribution-Share Alike 3.0 License, copyright (c) 2010 Pieter Hintjens, modified @alpaca-tc
2
+ [-2-]=====================================================================
3
+ [-3-]kvmsg - key-value message class for example applications
4
+ [-4-]
5
+ [-5-]Author: Min RK <benjaminrk@gmail.com>
6
+ [-6-]
7
+ """
8
+
9
+ import struct #[-9-] for packing integers
10
+ import sys
11
+ from uuid import uuid4
12
+
13
+ import zmq
14
+ import zmq.utils.jsonapi as json
15
+
16
+ class KVMsg(object):
17
+ """[-17-]
18
+ [-18-]Message is formatted on wire as 5 frames:
19
+ """
20
+ key = None
21
+ sequence = 0
22
+ uuid=None
23
+ properties = None
24
+ body = None
25
+
26
+ def __init__(self, sequence, uuid=None, key=None, properties=None, body=None):
27
+ assert isinstance(sequence, int)
28
+ self.sequence = sequence
29
+ if uuid is None:
30
+ uuid = uuid4().bytes
31
+ self.uuid = uuid
32
+ self.key = key
33
+ self.properties = {} if properties is None else properties
34
+ self.body = body
35
+
36
+ def __getitem__(self, k):
37
+ return self.properties[k]
38
+
39
+ def __setitem__(self, k, v):
40
+ self.properties[k] = v
41
+
42
+ def get(self, k, default=None):
43
+ return self.properties.get(k, default)
44
+
45
+ def store(self, dikt):
46
+ """[-46-] Store me in a dict if I have anything to store
47
+ [-47-] else delete me from the dict.[-end-]"""
48
+ if self.key is not None and self.body is not None:
49
+ dikt[self.key] = self
50
+ elif self.key in dikt:
51
+ del dikt[self.key]
52
+
53
+ def send(self, socket):
54
+
55
+ key = '' if self.key is None else self.key
56
+ seq_s = struct.pack('!q', self.sequence)
57
+ body = '' if self.body is None else self.body
58
+ prop_s = json.dumps(self.properties)
59
+ socket.send_multipart([ key, seq_s, self.uuid, prop_s, body ])
60
+
61
+ @classmethod
62
+ def recv(cls, socket):
63
+
64
+ return cls.from_msg(socket.recv_multipart())
65
+
66
+ @classmethod
67
+ def from_msg(cls, msg):
68
+
69
+ key, seq_s, uuid, prop_s, body = msg
70
+ key = key if key else None
71
+ seq = struct.unpack('!q',seq_s)[0]
72
+ body = body if body else None
73
+ prop = json.loads(prop_s)
74
+ return cls(seq, uuid=uuid, key=key, properties=prop, body=body)
75
+
76
+ def dump(self):
77
+ if self.body is None:
78
+ size = 0
79
+ data='NULL'
80
+ else:
81
+ size = len(self.body)
82
+ data=repr(self.body)
83
+ print >> sys.stderr, "[seq:{seq}][key:{key}][size:{size}] {props} {data}".format(
84
+ seq=self.sequence,
85
+ key=self.key,
86
+ size=size,
87
+ props=json.dumps(self.properties),
88
+ data=data,
89
+ )
90
+
91
+ #[-91-] Runs self test of class
92
+
93
+ def test_kvmsg (verbose):
94
+ print " * kvmsg: ",
95
+
96
+ ctx = zmq.Context()
97
+ output = ctx.socket(zmq.DEALER)
98
+ output.bind("ipc://kvmsg_selftest.ipc")
99
+ input = ctx.socket(zmq.DEALER)
100
+ input.connect("ipc://kvmsg_selftest.ipc")
101
+
102
+ kvmap = {}
103
+ kvmsg = KVMsg(1)
104
+ kvmsg.key = "key"
105
+ kvmsg.body = "body"
106
+ if verbose:
107
+ kvmsg.dump()
108
+ kvmsg.send(output)
109
+ kvmsg.store(kvmap)
110
+
111
+ kvmsg2 = KVMsg.recv(input)
112
+ if verbose:
113
+ kvmsg2.dump()
114
+ assert kvmsg2.key == "key"
115
+ kvmsg2.store(kvmap)
116
+
117
+ assert len(kvmap) == 1
118
+
119
+ kvmsg = KVMsg(2, key="key", body="body")
120
+ kvmsg["prop1"] = "value1"
121
+ kvmsg["prop2"] = "value2"
122
+ kvmsg["prop3"] = "value3"
123
+ assert kvmsg["prop1"] == "value1"
124
+ if verbose:
125
+ kvmsg.dump()
126
+ kvmsg.send(output)
127
+ kvmsg2 = KVMsg.recv(input)
128
+ if verbose:
129
+ kvmsg2.dump()
130
+ #[-130-] ensure properties were preserved
131
+ assert kvmsg2.key == kvmsg.key
132
+ assert kvmsg2.body == kvmsg.body
133
+ assert kvmsg2.properties == kvmsg.properties
134
+ assert kvmsg2["prop2"] == kvmsg["prop2"]
135
+
136
+ print "OK"
137
+
138
+ if __name__ == '__main__':
139
+ test_kvmsg('-v' in sys.argv)
@@ -0,0 +1,36 @@
1
+
2
+
3
+ #[-3-]encoding: utf-8
4
+ #[-4-]Source code from [https://github.com/thoughtbot/paperclip]
5
+ #[-5-]Copyright (c) 2008-2014 Jon Yurek and thoughtbot, inc.
6
+ require 'uri'
7
+ require 'paperclip/url_generator'
8
+ require 'active_support/deprecation'
9
+
10
+ module Paperclip
11
+ #[-11-]The Attachment class manages the files for a given attachment. It saves
12
+ #[-12-]when the model saves, deletes when the model is destroyed, and processes
13
+ #[-13-]the file upon assignment.
14
+ class Attachment
15
+ #[-15-]What gets called when you call instance.attachment = File. It clears
16
+ #[-16-]errors, assigns attributes, and processes the file. It
17
+ #[-17-]also queues up the previous file for deletion, to be flushed away on
18
+ #[-18-]#save of its host. In addition to form uploads, you can also assign
19
+ =begin
20
+ [-20-]another Paperclip attachment:
21
+ [-21-] new_user.avatar = old_user.avatar
22
+ [-22-] new_user.avatar = old_user.avatar
23
+ =end
24
+ def assign uploaded_file
25
+ @dirty = true
26
+
27
+ post_process(*only_process) if post_processing
28
+
29
+ #[-29-]Reset the file size if the original file was reprocessed.
30
+ instance_write(:file_size, @queued_for_write[:original].size)
31
+ instance_write(:fingerprint, @queued_for_write[:original].fingerprint) if instance_respond_to?(:fingerprint)
32
+ updater = :"#{name}_file_name_will_change!"
33
+ instance.send updater if instance.respond_to? updater
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,77 @@
1
+ @import 'sidebar'
2
+ @import 'index_contents'
3
+ @import 'page_contents'
4
+ @import 'post_contents'
5
+
6
+ //[-6-] single line
7
+ /*[-7-] multi line[-end-]*/
8
+ //[-8-]-------------------- /* */
9
+ /*[-9-] multi_line
10
+ [-10-] multi_line
11
+ [-11-] multi_line[-end-]*/
12
+ =blockquote
13
+ +transition(all, 0.3s)
14
+ color: #606060
15
+ background: #f9f9f9
16
+ position: relative
17
+ overflow: hidden
18
+ display: block
19
+ padding: 15px 60px
20
+ margin-top: $space_width
21
+ margin-bottom: $space_width
22
+ p
23
+ margin: 0px
24
+ &:hover
25
+ color: #454545
26
+ &:before
27
+ color: #b8cec7
28
+ &:before
29
+ left: -3px
30
+ &:after
31
+ right: -2px
32
+ &:before, &:after
33
+ display: block
34
+ content: "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"
35
+ font-size: 24px
36
+ overflow: hidden
37
+ position: absolute
38
+ top: 0px
39
+ bottom: 0px
40
+ line-height: 0.4em
41
+ word-break: break-all
42
+ color: #d0dfda
43
+ width: 7px !important
44
+
45
+ #main_contents
46
+ #breadcrumb
47
+ display: block
48
+ margin-top: $space_width / 2
49
+ margin-bottom: $space_width / 2
50
+ a
51
+ text-decoration: none
52
+ color: $cl_normal
53
+ .post_row
54
+ +box-shadow(0px 4px 4px #eee)
55
+ +readable_font
56
+ background-color: white
57
+ border: 1px solid #eee
58
+ color: #403f3f
59
+ font-size: 14px
60
+ line-height: 20px
61
+ text-shadow: 0 1px 0 rgba(255,255,255,1)
62
+ position: relative
63
+ padding-top: $space_width
64
+ padding-bottom: $space_width
65
+ margin-bottom: $space_width
66
+
67
+ header.field-items, footer
68
+ h1
69
+ padding-left: $space_width
70
+ padding-right: $space_width
71
+ &, & > a
72
+ font-size: 30px
73
+ letter-spacing: -1px
74
+ line-height: 1.3
75
+ +readable_font
76
+ +link-colors($cl_normal, $cl_normal, $cl_normal, $cl_normal)
77
+ text-decoration: none
@@ -0,0 +1,46 @@
1
+ /*[-1-]Attribution-Share Alike 3.0 License, copyright (c) 2010 Pieter Hintjens, modified @alpaca-tc
2
+ [-2-]Asynchronous client-to-server (DEALER to BROKER)
3
+ [-3-]
4
+ [-4-]While this example runs in a single process, that is just to make
5
+ [-5-]it easier to start and stop the example. Each task has its own
6
+ [-6-]context and conceptually acts as a separate process.
7
+ [-7-]
8
+ [-8-]@Author: Giovanni Ruggiero
9
+ [-9-]@Email: giovanni.ruggiero@gmail.com
10
+ */
11
+
12
+ import org.zeromq.ZMQ
13
+ import ZHelpers._
14
+
15
+ object asyncsrv {
16
+ //[-16-] ---------------------------------------------------------------------
17
+ //[-17-] This is our client task
18
+ //[-18-] It connects to the server, and then sends a request once per second
19
+ //[-19-] It collects responses as they arrive, and it prints them out. We will
20
+ //[-20-] run several client tasks in parallel, each with a different random ID.
21
+ class ClientTask() extends Runnable {
22
+ def run() {
23
+ val ctx = ZMQ.context(1)
24
+ val client = ctx.socket(ZMQ.DEALER)
25
+ setID(client);
26
+ val identity = new String(client getIdentity)
27
+ client.connect("tcp://localhost:5570")
28
+ val poller = ctx.poller(1)
29
+
30
+ poller.register(client,ZMQ.Poller.POLLIN)
31
+ var requestNbr = 0
32
+ while (true) { //[-32-] Tick once per second, pulling in arriving messages
33
+ for (centitick <- 1 to 100) {
34
+ poller.poll(10000)
35
+ if(poller.pollin(0)) {
36
+ val msg = new ZMsg(client)
37
+ printf("%s : %s\n", identity, msg.bodyToString)
38
+ }
39
+ }
40
+ requestNbr += 1
41
+ val msg = new ZMsg("request: %d" format requestNbr)
42
+ client.sendMsg(msg)
43
+ }
44
+ }
45
+ }
46
+ }
@@ -0,0 +1,93 @@
1
+ @import "sidebar"
2
+ @import "index_contents"
3
+ @import "page_contents"
4
+ @import "post_contents"
5
+
6
+ //[-6-] single line
7
+ /*[-7-] multi line[-end-]*/
8
+ //[-8-]-------------------- /*
9
+ /*[-9-] multi_line [-end-]*/
10
+ //[-10-] multi_line {}
11
+
12
+ //[-12-] multi_line*/ {}[-end-]
13
+
14
+ @mixin blockquote {
15
+ @include transition(all, 0.3s)
16
+ color: #606060
17
+ background: #f9f9f9
18
+ position: relative
19
+ overflow: hidden
20
+ display: block
21
+ padding: 15px 60px
22
+ margin-top: $space_width
23
+ margin-bottom: $space_width
24
+ p {
25
+ margin: 0px
26
+ }
27
+ &:hover {
28
+ color: #454545
29
+ &:before {
30
+ color: #b8cec7
31
+ }
32
+ }
33
+ &:before {
34
+ left: -3px
35
+ }
36
+ &:after {
37
+ right: -2px
38
+ }
39
+ &:before, &:after {
40
+ display: block
41
+ content: "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"
42
+ font-size: 24px
43
+ overflow: hidden
44
+ position: absolute
45
+ top: 0px
46
+ bottom: 0px
47
+ line-height: 0.4em
48
+ word-break: break-all
49
+ color: #d0dfda
50
+ width: 7px !important
51
+ }
52
+ }
53
+
54
+ #main_contents {
55
+ #breadcrumb {
56
+ display: block
57
+ margin-top: $space_width / 2
58
+ margin-bottom: $space_width / 2
59
+ a {
60
+ text-decoration: none
61
+ color: $cl_normal
62
+ }
63
+ }
64
+ .post_row {
65
+ @include box-shadow(0px 4px 4px #eeeeee)
66
+ @include readable_font
67
+ background-color: white
68
+ border: 1px solid #eeeeee
69
+ color: #403f3f
70
+ font-size: 14px
71
+ line-height: 20px
72
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 1)
73
+ position: relative
74
+ padding-top: $space_width
75
+ padding-bottom: $space_width
76
+ margin-bottom: $space_width
77
+ header.field-items, footer {
78
+ h1 {
79
+ padding-left: $space_width
80
+ padding-right: $space_width
81
+ &, & > a {
82
+ font-size: 30px
83
+ letter-spacing: -1px
84
+ line-height: 1.3
85
+ @include readable_font
86
+ @include link-colors($cl_normal, $cl_normal, $cl_normal, $cl_normal)
87
+ text-decoration: none
88
+ }
89
+ }
90
+ }
91
+ /*[-91-] multi_line [-end-]*/
92
+ }
93
+ }
@@ -0,0 +1,5 @@
1
+ #[-1-] print the name and contents of the current
2
+ #[-2-] working directory
3
+ echo "This is from a shell script"
4
+ pwd #[-4-] print the directory name
5
+ ls #[-5-] print the directory contents
File without changes
@@ -0,0 +1,11 @@
1
+ /*[-1-] this is comment
2
+ [-2-]comemnt out[-end-]*/
3
+ select SessionSID
4
+ , TargetID
5
+ --[-5-], TargetName
6
+ , FEDSurveyName
7
+ , SupplierID
8
+ , ClientLK_ResponseStatusID
9
+ from BI_Sessions (nolock)
10
+ WHERE EntryDate BETWEEN '05-15-2012' AND '05-16-2012'
11
+ AND SupplierID = 336
File without changes
@@ -0,0 +1,20 @@
1
+ \documentclass[12pt]{article}
2
+ %[-2-] options include 12pt or 11pt or 10pt
3
+ %[-3-] classes include article, report, book, letter, thesis
4
+
5
+ \title{This is the title}
6
+ \author{Author One \\ Author Two}
7
+ \date{29 February 2004}
8
+
9
+ \begin{document}
10
+ \maketitle
11
+
12
+ This is the content of this document.%[-12-]
13
+
14
+ This is the 2nd paragraph.
15
+ \%Here is an inline formula:
16
+ $ V = \frac{4 \pi r^3}{3} $.
17
+ And appearing immediately below
18
+ is a displayed formula:
19
+ $$ V = \frac{4 \pi r^3}{3} $$
20
+ \end{document}
@@ -0,0 +1,15 @@
1
+ #[-1-] strip\_comment
2
+
3
+ #[-3-] Description
4
+
5
+ comment\_extractor extracts the comment out from a source code.
6
+
7
+ #[-7-] Installation
8
+
9
+ CommentExtractor has been tested with ruby 2.1.
10
+
11
+ ```sh
12
+ git clone https://github.com/alpaca-tc/comment_extractor
13
+ cd comment_extractor
14
+ rake install
15
+ ```
@@ -0,0 +1,17 @@
1
+ "[-1-] ----------------------------------------
2
+ "[-2-] basic settings "{{{
3
+ set nocompatible
4
+ let &directory = g:my.dir.swap_dir
5
+ set viminfo='1000,<800,s300,\"1000,f1,:1000,/1000
6
+ execute 'set viminfo+=n' . g:my.dir.viminfo . '/.viminfo'
7
+
8
+
9
+
10
+ set visualbell t_vb=
11
+ set helplang=en
12
+ set langmenu=en_us.UTF-8
13
+ language en_US.UTF-8
14
+ "[-14-]
15
+ \[-15-]
16
+ "[-16-] ----------------------------------------
17
+
@@ -0,0 +1,44 @@
1
+ defaults: &defaults
2
+ URL: ""
3
+ HTTPS_URL: ""
4
+
5
+ ADMIN_ENABLED: true
6
+
7
+ ANALYTICS_ENABLED: false
8
+
9
+ AWS_ACCESS_KEY_ID:
10
+ AWS_SECRET_ACCESS_KEY:
11
+ AWS_S3_BUCKETS:
12
+ AWS_S3_OBJECT_CACHE_CONTROL_MAX_AGE: 7776000
13
+
14
+ YAHOOJ_WALLET_API_HOST:
15
+ YAHOOJ_APPID:
16
+ YAHOOJ_PRIVATE_KEY:
17
+ YAHOOJ_WGW_KEY:
18
+ YAHOOJ_PID_PREMIUM_PROFILE_MONTHLY:
19
+ YAHOOJ_PROPERTY_ID:
20
+
21
+ #[-21-] https://dev.twitter.com/apps
22
+ TWITTER_CONSUMER_KEY: XXXXXXXXXXXXXXXXXXXXXX
23
+ TWITTER_CONSUMER_SECRET: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
24
+
25
+ #[-25-] https://developers.facebook.com/apps
26
+ FACEBOOK_APP_KEY: XXXXXXXXXXXXXXX
27
+ FACEBOOK_APP_SECRET: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
28
+
29
+ #[-29-] https://code.google.com/apis/console/
30
+ GOOGLE_CLIENT_ID: XXXXXXXXXXXXX.XXXX.googleusercontent.com
31
+ GOOGLE_CLIENT_SECRET: XXXXXXXXXXXXXXXXXXXXXXXX
32
+
33
+ #[-33-] https://code.google.com/apis/console/
34
+ GPLUS_CLIENT_ID: XXXXXXXXXXXXX.XXXX.googleusercontent.com
35
+ GPLUS_CLIENT_SECRET: #[-35-]XXXXXXXXXXXXXXXXXXXXXXXX
36
+
37
+ development:
38
+ <<: *defaults
39
+
40
+ test:
41
+ <<: *defaults
42
+
43
+ production:
44
+ <<: *defaults
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1 @@
1
+ # Hello World
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1 @@
1
+ # Hello World
@@ -0,0 +1,15 @@
1
+ require 'spec_helper'
2
+ require 'comment_extractor/code_object/comment'
3
+
4
+ module CommentExtractor
5
+ describe CodeObject::Comment do
6
+ describe '.new' do
7
+ subject { described_class.new(line: line) }
8
+ let(:line) { 21 }
9
+
10
+ it "returns a instance of #{described_class}" do
11
+ expect(subject.line).to eql(line)
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,18 @@
1
+ require 'spec_helper'
2
+ require 'comment_extractor/code_object'
3
+
4
+ module CommentExtractor
5
+ describe CodeObject do
6
+ describe 'ClassMethods' do
7
+ describe '.new' do
8
+ subject { described_class.new(value: value, other: :other) }
9
+ let(:value) { 'value' }
10
+
11
+ it "returns a instance of #{described_class}" do
12
+ expect(subject.value).to eql value
13
+ expect(subject.metadata).to eql({ other: :other })
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end