irails 0.1.0

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.
@@ -0,0 +1,41 @@
1
+ require 'test_helper'
2
+ require 'open3'
3
+ require 'expect'
4
+
5
+ class IntegrationTest < IRailsTest
6
+ def setup
7
+ @stdin, @stdout, @stderr, @process = Open3.popen3('bin/irails')
8
+ expect 'In [', 30
9
+ expect '1'
10
+ expect ']:'
11
+ end
12
+
13
+ def teardown
14
+ @stdin.close
15
+ @stdout.close
16
+ @stderr.close
17
+ @process.kill
18
+ end
19
+
20
+ def write(input)
21
+ @stdin.puts input
22
+ end
23
+
24
+ def expect(pattern, timeout = 1)
25
+ assert @stdout.expect(pattern, timeout), "#{pattern} expected"
26
+ end
27
+
28
+ def test_interaction
29
+ write '"Hello, world!"'
30
+ expect '"Hello, world!"'
31
+
32
+ write 'puts "Hello!"'
33
+ expect 'Hello!'
34
+
35
+ write '12 + 12'
36
+ expect '24'
37
+
38
+ write 'ls'
39
+ expect 'self.methods'
40
+ end
41
+ end
@@ -0,0 +1,15 @@
1
+ require 'stringio'
2
+ require 'test_helper'
3
+ require 'irails/logger'
4
+
5
+ class MultiLoggerTest < IRailsTest
6
+ def test_multilogger
7
+ out, err = StringIO.new, StringIO.new
8
+ logger = IRails::MultiLogger.new(Logger.new(out), Logger.new(err))
9
+ logger.warn 'You did a bad thing'
10
+ assert_match 'WARN', out.string
11
+ assert_match 'WARN', err.string
12
+ assert_match 'bad thing', out.string
13
+ assert_match 'bad thing', err.string
14
+ end
15
+ end
@@ -0,0 +1,5 @@
1
+ require 'irails'
2
+ require 'minitest/autorun'
3
+
4
+ class IRailsTest < Minitest::Test
5
+ end
metadata ADDED
@@ -0,0 +1,189 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: irails
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Hiroshi Kajisha
8
+ - Daniel Mendler
9
+ - The SciRuby developers
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2015-11-03 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rake
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - ">="
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ version: '0'
29
+ - !ruby/object:Gem::Dependency
30
+ name: minitest
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - ">="
34
+ - !ruby/object:Gem::Version
35
+ version: '0'
36
+ type: :development
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: '0'
43
+ - !ruby/object:Gem::Dependency
44
+ name: bond
45
+ requirement: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: '0'
50
+ type: :runtime
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: '0'
57
+ - !ruby/object:Gem::Dependency
58
+ name: rbczmq
59
+ requirement: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: '0'
64
+ type: :runtime
65
+ prerelease: false
66
+ version_requirements: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ version: '0'
71
+ - !ruby/object:Gem::Dependency
72
+ name: multi_json
73
+ requirement: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - ">="
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ type: :runtime
79
+ prerelease: false
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ version: '0'
85
+ - !ruby/object:Gem::Dependency
86
+ name: mimemagic
87
+ requirement: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - ">="
90
+ - !ruby/object:Gem::Version
91
+ version: '0'
92
+ type: :runtime
93
+ prerelease: false
94
+ version_requirements: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - ">="
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
99
+ - !ruby/object:Gem::Dependency
100
+ name: rails
101
+ requirement: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - ">="
104
+ - !ruby/object:Gem::Version
105
+ version: '0'
106
+ type: :runtime
107
+ prerelease: false
108
+ version_requirements: !ruby/object:Gem::Requirement
109
+ requirements:
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ version: '0'
113
+ description: A Rails kernel for Jupyter frontends (e.g. notebook). Try it at try.jupyter.org.
114
+ email:
115
+ - kajisha@gmail.com
116
+ - mail@daniel-mendler.de
117
+ executables:
118
+ - irails
119
+ extensions: []
120
+ extra_rdoc_files: []
121
+ files:
122
+ - ".gitignore"
123
+ - ".travis.yml"
124
+ - CONTRIBUTORS
125
+ - Gemfile
126
+ - LICENSE
127
+ - README.md
128
+ - Rakefile
129
+ - bin/irails
130
+ - irails.gemspec
131
+ - lib/irails.rb
132
+ - lib/irails/assets/kernel.css
133
+ - lib/irails/assets/kernel.js
134
+ - lib/irails/assets/logo-32x32.png
135
+ - lib/irails/assets/logo-64x64.png
136
+ - lib/irails/backend.rb
137
+ - lib/irails/comm.rb
138
+ - lib/irails/command.rb
139
+ - lib/irails/display.rb
140
+ - lib/irails/formatter.rb
141
+ - lib/irails/kernel.rb
142
+ - lib/irails/logger.rb
143
+ - lib/irails/ostream.rb
144
+ - lib/irails/session.rb
145
+ - lib/irails/utils.rb
146
+ - lib/irails/version.rb
147
+ - logo/logo-32x32.png
148
+ - logo/logo-64x64.png
149
+ - logo/ruby.svg
150
+ - test/integration_test.rb
151
+ - test/irails/multi_logger_test.rb
152
+ - test/test_helper.rb
153
+ homepage: https://github.com/kajisha/irails
154
+ licenses:
155
+ - MIT
156
+ metadata: {}
157
+ post_install_message: |+
158
+ Consider installing the optional dependencies to get additional functionality:
159
+ * pry
160
+ * pry-doc
161
+ * awesome_print
162
+ * gnuplot
163
+ * rubyvis
164
+ * nyaplot
165
+
166
+ rdoc_options: []
167
+ require_paths:
168
+ - lib
169
+ required_ruby_version: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: 2.1.0
174
+ required_rubygems_version: !ruby/object:Gem::Requirement
175
+ requirements:
176
+ - - ">="
177
+ - !ruby/object:Gem::Version
178
+ version: '0'
179
+ requirements: []
180
+ rubyforge_project:
181
+ rubygems_version: 2.4.5.1
182
+ signing_key:
183
+ specification_version: 4
184
+ summary: Rails Kernel for Jupyter
185
+ test_files:
186
+ - test/integration_test.rb
187
+ - test/irails/multi_logger_test.rb
188
+ - test/test_helper.rb
189
+ has_rdoc: