├── junk
├── rrails
│ ├── log
│ │ └── .keep
│ ├── app
│ │ ├── models
│ │ │ ├── .keep
│ │ │ └── concerns
│ │ │ │ └── .keep
│ │ ├── mailers
│ │ │ └── .keep
│ │ ├── assets
│ │ │ ├── images
│ │ │ │ └── .keep
│ │ │ ├── stylesheets
│ │ │ │ ├── welcome.scss
│ │ │ │ └── application.css
│ │ │ └── javascripts
│ │ │ │ ├── welcome.coffee
│ │ │ │ └── application.js
│ │ ├── controllers
│ │ │ ├── concerns
│ │ │ │ └── .keep
│ │ │ ├── welcome_controller.rb
│ │ │ └── application_controller.rb
│ │ ├── helpers
│ │ │ ├── welcome_helper.rb
│ │ │ └── application_helper.rb
│ │ └── views
│ │ │ ├── welcome
│ │ │ └── index.html.erb
│ │ │ └── layouts
│ │ │ └── application.html.erb
│ ├── lib
│ │ ├── assets
│ │ │ └── .keep
│ │ ├── tasks
│ │ │ └── .keep
│ │ └── rust_example.rb
│ ├── public
│ │ ├── favicon.ico
│ │ ├── robots.txt
│ │ ├── 500.html
│ │ ├── 422.html
│ │ └── 404.html
│ ├── test
│ │ ├── fixtures
│ │ │ └── .keep
│ │ ├── helpers
│ │ │ └── .keep
│ │ ├── mailers
│ │ │ └── .keep
│ │ ├── models
│ │ │ └── .keep
│ │ ├── controllers
│ │ │ ├── .keep
│ │ │ └── welcome_controller_test.rb
│ │ ├── integration
│ │ │ └── .keep
│ │ └── test_helper.rb
│ ├── vendor
│ │ └── assets
│ │ │ ├── javascripts
│ │ │ └── .keep
│ │ │ └── stylesheets
│ │ │ └── .keep
│ ├── config
│ │ ├── routes.rb
│ │ ├── boot.rb
│ │ ├── initializers
│ │ │ ├── cookies_serializer.rb
│ │ │ ├── session_store.rb
│ │ │ ├── mime_types.rb
│ │ │ ├── filter_parameter_logging.rb
│ │ │ ├── backtrace_silencers.rb
│ │ │ ├── assets.rb
│ │ │ ├── wrap_parameters.rb
│ │ │ └── inflections.rb
│ │ ├── environment.rb
│ │ ├── database.yml
│ │ ├── locales
│ │ │ └── en.yml
│ │ ├── secrets.yml
│ │ ├── application.rb
│ │ └── environments
│ │ │ ├── development.rb
│ │ │ ├── test.rb
│ │ │ └── production.rb
│ ├── bin
│ │ ├── bundle
│ │ ├── rake
│ │ ├── rails
│ │ ├── spring
│ │ └── setup
│ ├── config.ru
│ ├── Rakefile
│ ├── db
│ │ └── seeds.rb
│ ├── .gitignore
│ ├── README.rdoc
│ └── Gemfile
├── ruby
│ ├── Rakefile
│ ├── lib
│ │ ├── rust_example.rb
│ │ └── rust_example
│ │ │ └── version.rb
│ ├── bin
│ │ └── rust_example
│ ├── Gemfile
│ ├── ext
│ │ └── rust_example
│ │ │ ├── rust_example.o
│ │ │ ├── rust_example.so
│ │ │ ├── librust_example.a
│ │ │ ├── extconf.rb
│ │ │ └── rust_example.c
│ ├── README.md
│ └── rust_example.gemspec
├── mrusty
│ ├── greeting.rb
│ ├── Cargo.toml
│ └── src
│ │ └── main.rs
├── ruru
│ ├── example.rb
│ ├── Cargo.toml
│ └── src
│ │ └── lib.rs
├── rust
│ ├── Cargo.toml
│ └── src
│ │ └── lib.rs
├── Makefile
├── .gitignore
├── LICENSE.txt
└── README.md
├── Rakefile
├── lib
├── rust_example
│ └── version.rb
└── rust_example.rb
├── src
└── lib.rs
├── Gemfile
├── Cargo.toml
├── .gitignore
├── bin
├── setup
└── console
├── README.md
└── rust_example.gemspec
/junk/rrails/log/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/junk/rrails/app/models/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/junk/rrails/lib/assets/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/junk/rrails/lib/tasks/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/junk/rrails/app/mailers/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/junk/rrails/public/favicon.ico:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/junk/rrails/test/fixtures/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/junk/rrails/test/helpers/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/junk/rrails/test/mailers/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/junk/rrails/test/models/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/junk/rrails/app/assets/images/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/junk/rrails/app/models/concerns/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/junk/rrails/test/controllers/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/junk/rrails/test/integration/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/junk/rrails/app/controllers/concerns/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/junk/rrails/vendor/assets/javascripts/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/junk/rrails/vendor/assets/stylesheets/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/junk/ruby/Rakefile:
--------------------------------------------------------------------------------
1 | require "bundler/gem_tasks"
2 |
3 |
--------------------------------------------------------------------------------
/Rakefile:
--------------------------------------------------------------------------------
1 | require "bundler/gem_tasks"
2 | task :default => :spec
3 |
--------------------------------------------------------------------------------
/junk/ruby/lib/rust_example.rb:
--------------------------------------------------------------------------------
1 | require "rust_example/rust_example"
2 |
--------------------------------------------------------------------------------
/junk/rrails/app/helpers/welcome_helper.rb:
--------------------------------------------------------------------------------
1 | module WelcomeHelper
2 | end
3 |
--------------------------------------------------------------------------------
/junk/rrails/app/helpers/application_helper.rb:
--------------------------------------------------------------------------------
1 | module ApplicationHelper
2 | end
3 |
--------------------------------------------------------------------------------
/lib/rust_example/version.rb:
--------------------------------------------------------------------------------
1 | module RustExample
2 | VERSION = "0.3.0"
3 | end
4 |
--------------------------------------------------------------------------------
/junk/ruby/lib/rust_example/version.rb:
--------------------------------------------------------------------------------
1 | module RustExample
2 | VERSION = "0.2.0"
3 | end
4 |
--------------------------------------------------------------------------------
/junk/mrusty/greeting.rb:
--------------------------------------------------------------------------------
1 | class Greeting
2 | def to_string
3 | "hello there"
4 | end
5 | end
6 |
--------------------------------------------------------------------------------
/junk/rrails/config/routes.rb:
--------------------------------------------------------------------------------
1 | Rails.application.routes.draw do
2 | root 'welcome#index'
3 | end
4 |
--------------------------------------------------------------------------------
/src/lib.rs:
--------------------------------------------------------------------------------
1 | #[cfg(test)]
2 | mod tests {
3 | #[test]
4 | fn it_works() {
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/junk/ruru/example.rb:
--------------------------------------------------------------------------------
1 | require_relative 'target/release/librurulol'
2 |
3 | puts Calculator.new.pow_3(5)
4 |
--------------------------------------------------------------------------------
/junk/ruby/bin/rust_example:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 |
3 | require "rust_example"
4 |
5 | RustExample.hello
6 |
--------------------------------------------------------------------------------
/Gemfile:
--------------------------------------------------------------------------------
1 | source 'https://rubygems.org'
2 |
3 | # Specify your gem's dependencies in rust_example.gemspec
4 | gemspec
5 |
--------------------------------------------------------------------------------
/junk/ruby/Gemfile:
--------------------------------------------------------------------------------
1 | source 'https://rubygems.org'
2 |
3 | # Specify your gem's dependencies in rust_example.gemspec
4 | gemspec
5 |
--------------------------------------------------------------------------------
/junk/rrails/app/views/welcome/index.html.erb:
--------------------------------------------------------------------------------
1 |
Get a number from Rust
2 | The number is: <%= @number %>
.
3 |
--------------------------------------------------------------------------------
/junk/ruby/ext/rust_example/rust_example.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/steveklabnik/rust_example/HEAD/junk/ruby/ext/rust_example/rust_example.o
--------------------------------------------------------------------------------
/junk/ruby/ext/rust_example/rust_example.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/steveklabnik/rust_example/HEAD/junk/ruby/ext/rust_example/rust_example.so
--------------------------------------------------------------------------------
/lib/rust_example.rb:
--------------------------------------------------------------------------------
1 | require "rust_example/version"
2 |
3 | module RustExample
4 | def self.hello
5 | "Hello, world"
6 | end
7 | end
8 |
--------------------------------------------------------------------------------
/Cargo.toml:
--------------------------------------------------------------------------------
1 | [package]
2 | name = "rust-example"
3 | version = "0.1.0"
4 | authors = ["Steve Klabnik "]
5 |
6 | [dependencies]
7 |
--------------------------------------------------------------------------------
/junk/ruby/ext/rust_example/librust_example.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/steveklabnik/rust_example/HEAD/junk/ruby/ext/rust_example/librust_example.a
--------------------------------------------------------------------------------
/junk/rrails/bin/bundle:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
3 | load Gem.bin_path('bundler', 'bundle')
4 |
--------------------------------------------------------------------------------
/junk/ruby/ext/rust_example/extconf.rb:
--------------------------------------------------------------------------------
1 | require "mkmf"
2 |
3 | have_library("rust_example","rust_example_init")
4 |
5 | create_makefile "rust_example/rust_example"
6 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /.bundle/
2 | /.yardoc
3 | /Gemfile.lock
4 | /_yardoc/
5 | /coverage/
6 | /doc/
7 | /pkg/
8 | /spec/reports/
9 | /tmp/
10 | target
11 | Cargo.lock
12 |
--------------------------------------------------------------------------------
/bin/setup:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | set -euo pipefail
3 | IFS=$'\n\t'
4 | set -vx
5 |
6 | bundle install
7 |
8 | # Do any other automated setup that you need to do here
9 |
--------------------------------------------------------------------------------
/junk/rrails/config/boot.rb:
--------------------------------------------------------------------------------
1 | ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
2 |
3 | require 'bundler/setup' # Set up gems listed in the Gemfile.
4 |
--------------------------------------------------------------------------------
/junk/rrails/config.ru:
--------------------------------------------------------------------------------
1 | # This file is used by Rack-based servers to start the application.
2 |
3 | require ::File.expand_path('../config/environment', __FILE__)
4 | run Rails.application
5 |
--------------------------------------------------------------------------------
/junk/rrails/config/initializers/cookies_serializer.rb:
--------------------------------------------------------------------------------
1 | # Be sure to restart your server when you modify this file.
2 |
3 | Rails.application.config.action_dispatch.cookies_serializer = :json
4 |
--------------------------------------------------------------------------------
/junk/rrails/config/initializers/session_store.rb:
--------------------------------------------------------------------------------
1 | # Be sure to restart your server when you modify this file.
2 |
3 | Rails.application.config.session_store :cookie_store, key: '_rrails_session'
4 |
--------------------------------------------------------------------------------
/junk/rrails/config/environment.rb:
--------------------------------------------------------------------------------
1 | # Load the Rails application.
2 | require File.expand_path('../application', __FILE__)
3 |
4 | # Initialize the Rails application.
5 | Rails.application.initialize!
6 |
--------------------------------------------------------------------------------
/junk/rrails/app/controllers/welcome_controller.rb:
--------------------------------------------------------------------------------
1 | require 'rust_example'
2 |
3 | class WelcomeController < ApplicationController
4 | def index
5 | @number = RustExample.number
6 | end
7 | end
8 |
--------------------------------------------------------------------------------
/junk/rrails/config/initializers/mime_types.rb:
--------------------------------------------------------------------------------
1 | # Be sure to restart your server when you modify this file.
2 |
3 | # Add new mime types for use in respond_to blocks:
4 | # Mime::Type.register "text/richtext", :rtf
5 |
--------------------------------------------------------------------------------
/junk/rrails/test/controllers/welcome_controller_test.rb:
--------------------------------------------------------------------------------
1 | require 'test_helper'
2 |
3 | class WelcomeControllerTest < ActionController::TestCase
4 | # test "the truth" do
5 | # assert true
6 | # end
7 | end
8 |
--------------------------------------------------------------------------------
/junk/mrusty/Cargo.toml:
--------------------------------------------------------------------------------
1 | [package]
2 | name = "mrusty"
3 | version = "0.1.0"
4 | authors = ["Steve Klabnik "]
5 |
6 | [dependencies]
7 | mrusty = { version = "0.3.2", features = ["gnu-readline"] }
8 |
--------------------------------------------------------------------------------
/junk/rrails/app/assets/stylesheets/welcome.scss:
--------------------------------------------------------------------------------
1 | // Place all the styles related to the welcome controller here.
2 | // They will automatically be included in application.css.
3 | // You can use Sass (SCSS) here: http://sass-lang.com/
4 |
--------------------------------------------------------------------------------
/junk/rrails/public/robots.txt:
--------------------------------------------------------------------------------
1 | # See http://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file
2 | #
3 | # To ban all spiders from the entire site uncomment the next two lines:
4 | # User-agent: *
5 | # Disallow: /
6 |
--------------------------------------------------------------------------------
/junk/ruru/Cargo.toml:
--------------------------------------------------------------------------------
1 | [package]
2 | name = "ruru"
3 | version = "0.1.0"
4 | authors = ["Steve Klabnik "]
5 |
6 | [lib]
7 | name = "rurulol"
8 | crate-type = ["dylib"]
9 |
10 | [dependencies]
11 | ruru = "^0.7.0"
12 |
--------------------------------------------------------------------------------
/junk/rrails/app/assets/javascripts/welcome.coffee:
--------------------------------------------------------------------------------
1 | # Place all the behaviors and hooks related to the matching controller here.
2 | # All this logic will automatically be available in application.js.
3 | # You can use CoffeeScript in this file: http://coffeescript.org/
4 |
--------------------------------------------------------------------------------
/junk/rrails/config/initializers/filter_parameter_logging.rb:
--------------------------------------------------------------------------------
1 | # Be sure to restart your server when you modify this file.
2 |
3 | # Configure sensitive parameters which will be filtered from the log file.
4 | Rails.application.config.filter_parameters += [:password]
5 |
--------------------------------------------------------------------------------
/junk/rrails/app/controllers/application_controller.rb:
--------------------------------------------------------------------------------
1 | class ApplicationController < ActionController::Base
2 | # Prevent CSRF attacks by raising an exception.
3 | # For APIs, you may want to use :null_session instead.
4 | protect_from_forgery with: :exception
5 | end
6 |
--------------------------------------------------------------------------------
/junk/rrails/bin/rake:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | begin
3 | load File.expand_path('../spring', __FILE__)
4 | rescue LoadError => e
5 | raise unless e.message.include?('spring')
6 | end
7 | require_relative '../config/boot'
8 | require 'rake'
9 | Rake.application.run
10 |
--------------------------------------------------------------------------------
/junk/rust/Cargo.toml:
--------------------------------------------------------------------------------
1 | [package]
2 |
3 | name = "rust_example"
4 | version = "0.0.1"
5 | authors = ["Steve Klabnik "]
6 |
7 | [lib]
8 | name = "rust_example"
9 | crate_type = ["staticlib", "dylib"]
10 |
11 | [dependencies]
12 | libc="0.2.0"
13 |
--------------------------------------------------------------------------------
/junk/rrails/Rakefile:
--------------------------------------------------------------------------------
1 | # Add your own tasks in files placed in lib/tasks ending in .rake,
2 | # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3 |
4 | require File.expand_path('../config/application', __FILE__)
5 |
6 | Rails.application.load_tasks
7 |
--------------------------------------------------------------------------------
/junk/Makefile:
--------------------------------------------------------------------------------
1 | default:
2 | cd rust; cargo build --release
3 | cp rust/target/release/librust_example*.a ruby/ext/rust_example/librust_example.a
4 | cd ruby/ext/rust_example; ruby extconf.rb; make clean; make
5 | cd ruby; ruby -Ilib:ext -r rust_example -e "RustExample.hello; RustExample.make_hello; puts RustExample.number;"
6 |
--------------------------------------------------------------------------------
/junk/rrails/bin/rails:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | begin
3 | load File.expand_path('../spring', __FILE__)
4 | rescue LoadError => e
5 | raise unless e.message.include?('spring')
6 | end
7 | APP_PATH = File.expand_path('../../config/application', __FILE__)
8 | require_relative '../config/boot'
9 | require 'rails/commands'
10 |
--------------------------------------------------------------------------------
/junk/.gitignore:
--------------------------------------------------------------------------------
1 | *.gem
2 | *.rbc
3 | .bundle
4 | .config
5 | .yardoc
6 | Gemfile.lock
7 | Cargo.lock
8 | InstalledFiles
9 | _yardoc
10 | coverage
11 | doc/
12 | lib/bundler/man
13 | pkg
14 | rdoc
15 | spec/reports
16 | test/tmp
17 | test/version_tmp
18 | tmp
19 | *.bundle
20 | mkmf.log
21 | target
22 | ruby/ext/rust_example/Makefile
23 |
--------------------------------------------------------------------------------
/junk/rrails/lib/rust_example.rb:
--------------------------------------------------------------------------------
1 | require 'fiddle'
2 |
3 | class RustExample
4 | def self.number
5 | rust_example = Fiddle.dlopen('../rust/target/release/librust_example.so')
6 |
7 | num = Fiddle::Function.new(
8 | rust_example['num'],
9 | [],
10 | Fiddle::TYPE_INT
11 | )
12 |
13 | num.call
14 | end
15 | end
16 |
--------------------------------------------------------------------------------
/junk/rrails/db/seeds.rb:
--------------------------------------------------------------------------------
1 | # This file should contain all the record creation needed to seed the database with its default values.
2 | # The data can then be loaded with the rake db:seed (or created alongside the db with db:setup).
3 | #
4 | # Examples:
5 | #
6 | # cities = City.create([{ name: 'Chicago' }, { name: 'Copenhagen' }])
7 | # Mayor.create(name: 'Emanuel', city: cities.first)
8 |
--------------------------------------------------------------------------------
/junk/rrails/test/test_helper.rb:
--------------------------------------------------------------------------------
1 | ENV['RAILS_ENV'] ||= 'test'
2 | require File.expand_path('../../config/environment', __FILE__)
3 | require 'rails/test_help'
4 |
5 | class ActiveSupport::TestCase
6 | # Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order.
7 | fixtures :all
8 |
9 | # Add more helper methods to be used by all tests here...
10 | end
11 |
--------------------------------------------------------------------------------
/junk/rrails/app/views/layouts/application.html.erb:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Rrails
5 | <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
6 | <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
7 | <%= csrf_meta_tags %>
8 |
9 |
10 |
11 | <%= yield %>
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/bin/console:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 |
3 | require "bundler/setup"
4 | require "rust_example"
5 |
6 | # You can add fixtures and/or initialization code here to make experimenting
7 | # with your gem easier. You can also use a different console, if you like.
8 |
9 | # (If you use this, don't forget to add pry to your Gemfile!)
10 | # require "pry"
11 | # Pry.start
12 |
13 | require "irb"
14 | IRB.start
15 |
--------------------------------------------------------------------------------
/junk/rrails/config/initializers/backtrace_silencers.rb:
--------------------------------------------------------------------------------
1 | # Be sure to restart your server when you modify this file.
2 |
3 | # You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces.
4 | # Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ }
5 |
6 | # You can also remove all the silencers if you're trying to debug a problem that might stem from framework code.
7 | # Rails.backtrace_cleaner.remove_silencers!
8 |
--------------------------------------------------------------------------------
/junk/rrails/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files for more about ignoring files.
2 | #
3 | # If you find yourself ignoring temporary files generated by your text editor
4 | # or operating system, you probably want to add a global ignore instead:
5 | # git config --global core.excludesfile '~/.gitignore_global'
6 |
7 | # Ignore bundler config.
8 | /.bundle
9 |
10 | # Ignore the default SQLite database.
11 | /db/*.sqlite3
12 | /db/*.sqlite3-journal
13 |
14 | # Ignore all logfiles and tempfiles.
15 | /log/*
16 | !/log/.keep
17 | /tmp
18 |
--------------------------------------------------------------------------------
/junk/rrails/config/initializers/assets.rb:
--------------------------------------------------------------------------------
1 | # Be sure to restart your server when you modify this file.
2 |
3 | # Version of your assets, change this if you want to expire all your assets.
4 | Rails.application.config.assets.version = '1.0'
5 |
6 | # Add additional assets to the asset load path
7 | # Rails.application.config.assets.paths << Emoji.images_path
8 |
9 | # Precompile additional assets.
10 | # application.js, application.css, and all non-JS/CSS in app/assets folder are already added.
11 | # Rails.application.config.assets.precompile += %w( search.js )
12 |
--------------------------------------------------------------------------------
/junk/rrails/bin/spring:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 |
3 | # This file loads spring without using Bundler, in order to be fast.
4 | # It gets overwritten when you run the `spring binstub` command.
5 |
6 | unless defined?(Spring)
7 | require 'rubygems'
8 | require 'bundler'
9 |
10 | if (match = Bundler.default_lockfile.read.match(/^GEM$.*?^ (?: )*spring \((.*?)\)$.*?^$/m))
11 | Gem.paths = { 'GEM_PATH' => [Bundler.bundle_path.to_s, *Gem.path].uniq.join(Gem.path_separator) }
12 | gem 'spring', match[1]
13 | require 'spring/binstub'
14 | end
15 | end
16 |
--------------------------------------------------------------------------------
/junk/rrails/config/initializers/wrap_parameters.rb:
--------------------------------------------------------------------------------
1 | # Be sure to restart your server when you modify this file.
2 |
3 | # This file contains settings for ActionController::ParamsWrapper which
4 | # is enabled by default.
5 |
6 | # Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
7 | ActiveSupport.on_load(:action_controller) do
8 | wrap_parameters format: [:json] if respond_to?(:wrap_parameters)
9 | end
10 |
11 | # To enable root element in JSON for ActiveRecord objects.
12 | # ActiveSupport.on_load(:active_record) do
13 | # self.include_root_in_json = true
14 | # end
15 |
--------------------------------------------------------------------------------
/junk/rrails/README.rdoc:
--------------------------------------------------------------------------------
1 | == README
2 |
3 | This README would normally document whatever steps are necessary to get the
4 | application up and running.
5 |
6 | Things you may want to cover:
7 |
8 | * Ruby version
9 |
10 | * System dependencies
11 |
12 | * Configuration
13 |
14 | * Database creation
15 |
16 | * Database initialization
17 |
18 | * How to run the test suite
19 |
20 | * Services (job queues, cache servers, search engines, etc.)
21 |
22 | * Deployment instructions
23 |
24 | * ...
25 |
26 |
27 | Please feel free to use a different markup language if you do not plan to run
28 | rake doc:app.
29 |
--------------------------------------------------------------------------------
/junk/rrails/config/database.yml:
--------------------------------------------------------------------------------
1 | # SQLite version 3.x
2 | # gem install sqlite3
3 | #
4 | # Ensure the SQLite 3 gem is defined in your Gemfile
5 | # gem 'sqlite3'
6 | #
7 | default: &default
8 | adapter: sqlite3
9 | pool: 5
10 | timeout: 5000
11 |
12 | development:
13 | <<: *default
14 | database: db/development.sqlite3
15 |
16 | # Warning: The database defined as "test" will be erased and
17 | # re-generated from your development database when you run "rake".
18 | # Do not set this db to the same as development or production.
19 | test:
20 | <<: *default
21 | database: db/test.sqlite3
22 |
23 | production:
24 | <<: *default
25 | database: db/production.sqlite3
26 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # RustExample
2 |
3 | A hello-world Ruby gem, written in Rust.
4 |
5 | ## Installation
6 |
7 | Add this to your Gemfile:
8 |
9 | ```ruby
10 | gem "rust_example"
11 | ```
12 |
13 | ## Usage
14 |
15 | Do this:
16 |
17 | ```ruby
18 | require "rust_example"
19 |
20 | puts RustExample.hello
21 | ```
22 |
23 | ## Development
24 |
25 | Send PRs to the master branch. Don't worry about specifics; we can do code
26 | review in the PR. I am happy to review any PRs, of any "quality", so don't
27 | worry about it being "good enough" or something, just hit send. :)
28 |
29 | ## Contributing
30 |
31 | Bug reports and pull requests are welcome on GitHub at
32 | https://github.com/steveklabnik/rust_example.
33 |
34 |
--------------------------------------------------------------------------------
/junk/rrails/config/initializers/inflections.rb:
--------------------------------------------------------------------------------
1 | # Be sure to restart your server when you modify this file.
2 |
3 | # Add new inflection rules using the following format. Inflections
4 | # are locale specific, and you may define rules for as many different
5 | # locales as you wish. All of these examples are active by default:
6 | # ActiveSupport::Inflector.inflections(:en) do |inflect|
7 | # inflect.plural /^(ox)$/i, '\1en'
8 | # inflect.singular /^(ox)en/i, '\1'
9 | # inflect.irregular 'person', 'people'
10 | # inflect.uncountable %w( fish sheep )
11 | # end
12 |
13 | # These inflection rules are supported but not enabled by default:
14 | # ActiveSupport::Inflector.inflections(:en) do |inflect|
15 | # inflect.acronym 'RESTful'
16 | # end
17 |
--------------------------------------------------------------------------------
/junk/rrails/config/locales/en.yml:
--------------------------------------------------------------------------------
1 | # Files in the config/locales directory are used for internationalization
2 | # and are automatically loaded by Rails. If you want to use locales other
3 | # than English, add the necessary files in this directory.
4 | #
5 | # To use the locales, use `I18n.t`:
6 | #
7 | # I18n.t 'hello'
8 | #
9 | # In views, this is aliased to just `t`:
10 | #
11 | # <%= t('hello') %>
12 | #
13 | # To use a different locale, set it with `I18n.locale`:
14 | #
15 | # I18n.locale = :es
16 | #
17 | # This would use the information in config/locales/es.yml.
18 | #
19 | # To learn more, please read the Rails Internationalization guide
20 | # available at http://guides.rubyonrails.org/i18n.html.
21 |
22 | en:
23 | hello: "Hello world"
24 |
--------------------------------------------------------------------------------
/junk/rrails/app/assets/javascripts/application.js:
--------------------------------------------------------------------------------
1 | // This is a manifest file that'll be compiled into application.js, which will include all the files
2 | // listed below.
3 | //
4 | // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5 | // or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
6 | //
7 | // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8 | // compiled file.
9 | //
10 | // Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
11 | // about supported directives.
12 | //
13 | //= require jquery
14 | //= require jquery_ujs
15 | //= require turbolinks
16 | //= require_tree .
17 |
--------------------------------------------------------------------------------
/junk/rrails/app/assets/stylesheets/application.css:
--------------------------------------------------------------------------------
1 | /*
2 | * This is a manifest file that'll be compiled into application.css, which will include all the files
3 | * listed below.
4 | *
5 | * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6 | * or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
7 | *
8 | * You're free to add application-wide styles to this file and they'll appear at the bottom of the
9 | * compiled file so the styles you add here take precedence over styles defined in any styles
10 | * defined in the other CSS/SCSS files in this directory. It is generally better to create a new
11 | * file per style scope.
12 | *
13 | *= require_tree .
14 | *= require_self
15 | */
16 |
--------------------------------------------------------------------------------
/junk/ruru/src/lib.rs:
--------------------------------------------------------------------------------
1 | #![no_std]
2 |
3 | #[macro_use]
4 | extern crate ruru;
5 |
6 | use ruru::VM;
7 | use ruru::Hash;
8 | use ruru::Fixnum;
9 | use ruru::Class;
10 | use ruru::AnyObject;
11 | use ruru::types::{Argc, Value};
12 | use ruru::traits::Object;
13 |
14 | class!(Calculator);
15 |
16 | methods!(
17 | Calculator,
18 | itself,
19 |
20 | fn pow_3(num: Fixnum) -> Hash {
21 | let mut hash = Hash::new();
22 |
23 | for i in 1..num.to_i64() + 1 {
24 | hash.store(Fixnum::new(i), Fixnum::new(i.pow(3)));
25 | }
26 |
27 | hash
28 | }
29 | );
30 |
31 | #[no_mangle]
32 | #[allow(non_snake_case)]
33 | pub extern fn Init_librurulol() {
34 | Class::new("Calculator").define(|itself| {
35 | itself.def("pow_3", pow_3);
36 | });
37 | }
38 |
--------------------------------------------------------------------------------
/junk/ruby/README.md:
--------------------------------------------------------------------------------
1 | # RustExample
2 |
3 | This is a Ruby gem, written in Rust. It gives you an executable that prints
4 | "Hello, world!". Classic.
5 |
6 | It currently will only work on Linux. If you have a Windows or Mac machine, let
7 | me know, and I can push up versions for those platforms with your help!
8 |
9 | ## Installation
10 |
11 | Or install it with:
12 |
13 | $ gem install rust_example
14 |
15 | ## Usage
16 |
17 | Type `rust_example`. See "Hello, world!" print to the screen. Woo!
18 |
19 | ## Contributing
20 |
21 | 1. Fork it ( https://github.com/[my-github-username]/rust_example/fork )
22 | 2. Create your feature branch (`git checkout -b my-new-feature`)
23 | 3. Commit your changes (`git commit -am 'Add some feature'`)
24 | 4. Push to the branch (`git push origin my-new-feature`)
25 | 5. Create a new Pull Request
26 |
--------------------------------------------------------------------------------
/junk/rust/src/lib.rs:
--------------------------------------------------------------------------------
1 | #![feature(lang_items)]
2 | #![no_std]
3 |
4 | #[no_mangle]
5 | pub extern "C" fn hello_rust() -> *const u8 {
6 | "Hello, world!\0".as_ptr()
7 | }
8 |
9 | /// `fill_slice` fills up a `buffer` with "Hello, world!"
10 | ///
11 | /// # Unsafe
12 | ///
13 | /// This function assumes that you've allocated at least fourteen bytes of memory at `buffer`. If
14 | /// you haven't, bad things may happen.
15 | #[no_mangle]
16 | pub unsafe extern "C" fn fill_slice(buffer: *mut u8) {
17 | let s = "Hello, world!\0";
18 |
19 | core::intrinsics::copy_nonoverlapping(s.as_ptr(), buffer, 14);
20 | }
21 |
22 | #[no_mangle]
23 | pub extern "C" fn num() -> i32 {
24 | 5
25 | }
26 |
27 | #[no_mangle]
28 | pub extern "C" fn rust_example_init() { }
29 |
30 | #[lang = "eh_personality"] extern fn eh_personality() {}
31 | #[lang = "panic_fmt"] fn panic_fmt() -> ! { loop {} }
32 |
--------------------------------------------------------------------------------
/junk/rrails/bin/setup:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | require 'pathname'
3 |
4 | # path to your application root.
5 | APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
6 |
7 | Dir.chdir APP_ROOT do
8 | # This script is a starting point to setup your application.
9 | # Add necessary setup steps to this file:
10 |
11 | puts "== Installing dependencies =="
12 | system "gem install bundler --conservative"
13 | system "bundle check || bundle install"
14 |
15 | # puts "\n== Copying sample files =="
16 | # unless File.exist?("config/database.yml")
17 | # system "cp config/database.yml.sample config/database.yml"
18 | # end
19 |
20 | puts "\n== Preparing database =="
21 | system "bin/rake db:setup"
22 |
23 | puts "\n== Removing old logs and tempfiles =="
24 | system "rm -f log/*"
25 | system "rm -rf tmp/cache"
26 |
27 | puts "\n== Restarting application server =="
28 | system "touch tmp/restart.txt"
29 | end
30 |
--------------------------------------------------------------------------------
/junk/rrails/config/secrets.yml:
--------------------------------------------------------------------------------
1 | # Be sure to restart your server when you modify this file.
2 |
3 | # Your secret key is used for verifying the integrity of signed cookies.
4 | # If you change this key, all old signed cookies will become invalid!
5 |
6 | # Make sure the secret is at least 30 characters and all random,
7 | # no regular words or you'll be exposed to dictionary attacks.
8 | # You can use `rake secret` to generate a secure secret key.
9 |
10 | # Make sure the secrets in this file are kept private
11 | # if you're sharing your code publicly.
12 |
13 | development:
14 | secret_key_base: dc60728d95b79fabc1623dd02dd918738b0a670805d3e5d99ccfaf58fd9c10e9a60b4ecd8567d6eee1c3301fa0fb942f88e3274909837860d2d50e6e3eb7e7b1
15 |
16 | test:
17 | secret_key_base: 2f20b4316a55b6f5618e0eb1ad2fc9d5d8f393ff8ab4c1bc7e4e84e97c88f3c318f8493fc469b31a48fcbdcbdef0c5ca5a97aae34b0ace6b007d8b085eb2ed3e
18 |
19 | # Do not keep production secrets in the repository,
20 | # instead read values from the environment.
21 | production:
22 | secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
23 |
--------------------------------------------------------------------------------
/junk/ruby/ext/rust_example/rust_example.c:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | extern char *hello_rust(void);
5 | extern void fill_slice(char *);
6 | extern int num(void);
7 |
8 | VALUE hello(void) {
9 | char *hello = hello_rust();
10 | printf("%s\n", hello);
11 |
12 | return Qnil;
13 | }
14 |
15 | VALUE make_hello() {
16 | // "Hello, world!".length == 14, with the null
17 | char *hello = (char *)malloc(sizeof(char) * 14);
18 |
19 | fill_slice(hello);
20 |
21 | printf("%s\n", hello);
22 |
23 | free(hello);
24 |
25 | return Qnil;
26 | }
27 |
28 | VALUE number() {
29 | int x = num();
30 |
31 | return INT2FIX(x);
32 | }
33 |
34 | // https://github.com/ruby/ruby/blob/trunk/README.EXT#L682
35 | void Init_rust_example(void) {
36 | VALUE rust_example = rb_define_module("RustExample");
37 |
38 | rb_define_singleton_method(rust_example, "hello", hello, 0);
39 | rb_define_singleton_method(rust_example, "make_hello", make_hello, 0);
40 | rb_define_singleton_method(rust_example, "number", number, 0);
41 | }
42 |
--------------------------------------------------------------------------------
/junk/LICENSE.txt:
--------------------------------------------------------------------------------
1 | Copyright (c) 2014 Steve Klabnik
2 |
3 | MIT License
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining
6 | a copy of this software and associated documentation files (the
7 | "Software"), to deal in the Software without restriction, including
8 | without limitation the rights to use, copy, modify, merge, publish,
9 | distribute, sublicense, and/or sell copies of the Software, and to
10 | permit persons to whom the Software is furnished to do so, subject to
11 | the following conditions:
12 |
13 | The above copyright notice and this permission notice shall be
14 | included in all copies or substantial portions of the Software.
15 |
16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 |
--------------------------------------------------------------------------------
/junk/rrails/config/application.rb:
--------------------------------------------------------------------------------
1 | require File.expand_path('../boot', __FILE__)
2 |
3 | require 'rails/all'
4 |
5 | # Require the gems listed in Gemfile, including any gems
6 | # you've limited to :test, :development, or :production.
7 | Bundler.require(*Rails.groups)
8 |
9 | module Rrails
10 | class Application < Rails::Application
11 | # Settings in config/environments/* take precedence over those specified here.
12 | # Application configuration should go into files in config/initializers
13 | # -- all .rb files in that directory are automatically loaded.
14 |
15 | # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
16 | # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
17 | # config.time_zone = 'Central Time (US & Canada)'
18 |
19 | # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
20 | # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
21 | # config.i18n.default_locale = :de
22 |
23 | # Do not swallow errors in after_commit/after_rollback callbacks.
24 | config.active_record.raise_in_transactional_callbacks = true
25 | end
26 | end
27 |
--------------------------------------------------------------------------------
/junk/ruby/rust_example.gemspec:
--------------------------------------------------------------------------------
1 | # coding: utf-8
2 | lib = File.expand_path('../lib', __FILE__)
3 | $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4 | require 'rust_example/version'
5 |
6 | Gem::Specification.new do |spec|
7 | spec.name = "rust_example"
8 | spec.version = RustExample::VERSION
9 | spec.authors = ["Steve Klabnik"]
10 | spec.email = ["steve@steveklabnik.com"]
11 | spec.summary = %q{A Ruby gem, implemented in Rust.}
12 | spec.description = %q{A Ruby gem, implemented in the Rust programming language. http://rust-lang.org}
13 | spec.homepage = "https://github.com/steveklabnik/rust_example"
14 | spec.license = "MIT"
15 |
16 | spec.files = `git ls-files -z`.split("\x0")
17 | spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18 | spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19 | spec.require_paths = ["lib"]
20 |
21 | # This only works on Linux for now, but might as well make it generic for the
22 | # future
23 | spec.platform = Gem::Platform::CURRENT
24 |
25 | spec.add_development_dependency "bundler", "~> 1.6"
26 | spec.add_development_dependency "rake"
27 |
28 | spec.executables = "rust_example"
29 |
30 | spec.extensions << "ext/rust_example/extconf.rb"
31 | end
32 |
--------------------------------------------------------------------------------
/junk/mrusty/src/main.rs:
--------------------------------------------------------------------------------
1 | #[macro_use]
2 | extern crate mrusty;
3 |
4 | use mrusty::*;
5 |
6 | fn main() {
7 |
8 | let mruby = Mruby::new();
9 |
10 | struct Cont {
11 | value: i32
12 | }
13 |
14 | // Cont should not flood the current namespace. We will add it with require.
15 | mrclass!(Cont, "Container", {
16 | def!("initialize", |v: i32| {
17 | Cont { value: v }
18 | });
19 |
20 | def!("value", |mruby, slf: Cont| {
21 | mruby.fixnum(slf.value)
22 | });
23 | });
24 |
25 | // Add file to the context, making it requirable.
26 | mruby.def_file::("cont");
27 |
28 | // Add spec testing.
29 | describe!(Cont, "
30 | context 'when containing 1' do
31 | it 'returns 1 when calling #value' do
32 | expect(Container.new(1).value).to eql 1
33 | end
34 | end
35 | ");
36 |
37 | let result = mruby.run("
38 | require 'cont'
39 |
40 | Container.new(3).value
41 | ").unwrap(); // Returns Value.
42 |
43 | println!("{}", result.to_i32().unwrap());
44 |
45 | let result = mruby.run("
46 | require './greeting'
47 |
48 | Greeting.new.to_string
49 | ").unwrap();
50 |
51 | println!("{}", result.to_str().unwrap());
52 |
53 | //let repl = Repl::new(mruby);
54 |
55 | //repl.start(&GnuReadLine);
56 | }
57 |
--------------------------------------------------------------------------------
/rust_example.gemspec:
--------------------------------------------------------------------------------
1 | # coding: utf-8
2 | lib = File.expand_path('../lib', __FILE__)
3 | $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4 | require 'rust_example/version'
5 |
6 | Gem::Specification.new do |spec|
7 | spec.name = "rust_example"
8 | spec.version = RustExample::VERSION
9 | spec.authors = ["Steve Klabnik"]
10 | spec.email = ["steve@steveklabnik.com"]
11 |
12 | spec.summary = %q{A Ruby gem, in Rust.}
13 | spec.description = %q{A Ruby gem, in Rust. Check out its README to learn how to make one of your own.}
14 | spec.homepage = "http://github.com/steveklabnik/rust_example"
15 |
16 | # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
17 | # to allow pushing to a single host or delete this section to allow pushing to any host.
18 | if spec.respond_to?(:metadata)
19 | spec.metadata['allowed_push_host'] = "TODO: Set to 'http://mygemserver.com'"
20 | else
21 | raise "RubyGems 2.0 or newer is required to protect against " \
22 | "public gem pushes."
23 | end
24 |
25 | spec.files = `git ls-files -z`.split("\x0").reject do |f|
26 | f.match(%r{^(test|spec|features)/})
27 | end
28 | spec.bindir = "exe"
29 | spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
30 | spec.require_paths = ["lib"]
31 |
32 | spec.add_development_dependency "bundler", "~> 1.13"
33 | spec.add_development_dependency "rake", "~> 10.0"
34 | end
35 |
--------------------------------------------------------------------------------
/junk/rrails/Gemfile:
--------------------------------------------------------------------------------
1 | source 'https://rubygems.org'
2 |
3 | #gem "rust_example", "0.2.0"
4 |
5 | # Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
6 | gem 'rails', '4.2.6'
7 | # Use sqlite3 as the database for Active Record
8 | gem 'sqlite3'
9 | # Use SCSS for stylesheets
10 | gem 'sass-rails', '~> 5.0'
11 | # Use Uglifier as compressor for JavaScript assets
12 | gem 'uglifier', '>= 1.3.0'
13 | # Use CoffeeScript for .coffee assets and views
14 | gem 'coffee-rails', '~> 4.1.0'
15 | # See https://github.com/rails/execjs#readme for more supported runtimes
16 | # gem 'therubyracer', platforms: :ruby
17 |
18 | # Use jquery as the JavaScript library
19 | gem 'jquery-rails'
20 | # Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
21 | gem 'turbolinks'
22 | # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
23 | gem 'jbuilder', '~> 2.0'
24 | # bundle exec rake doc:rails generates the API under doc/api.
25 | gem 'sdoc', '~> 0.4.0', group: :doc
26 |
27 | # Use ActiveModel has_secure_password
28 | # gem 'bcrypt', '~> 3.1.7'
29 |
30 | # Use Unicorn as the app server
31 | # gem 'unicorn'
32 |
33 | # Use Capistrano for deployment
34 | # gem 'capistrano-rails', group: :development
35 |
36 | group :development, :test do
37 | # Call 'byebug' anywhere in the code to stop execution and get a debugger console
38 | gem 'byebug'
39 | end
40 |
41 | group :development do
42 | # Access an IRB console on exception pages or by using <%= console %> in views
43 | gem 'web-console', '~> 2.0'
44 |
45 | # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
46 | gem 'spring'
47 | end
48 |
49 |
--------------------------------------------------------------------------------
/junk/rrails/public/500.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | We're sorry, but something went wrong (500)
5 |
6 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
We're sorry, but something went wrong.
62 |
63 |
If you are the application owner check the logs for more information.
64 |
65 |
66 |
67 |
--------------------------------------------------------------------------------
/junk/rrails/config/environments/development.rb:
--------------------------------------------------------------------------------
1 | Rails.application.configure do
2 | # Settings specified here will take precedence over those in config/application.rb.
3 |
4 | # In the development environment your application's code is reloaded on
5 | # every request. This slows down response time but is perfect for development
6 | # since you don't have to restart the web server when you make code changes.
7 | config.cache_classes = false
8 |
9 | # Do not eager load code on boot.
10 | config.eager_load = false
11 |
12 | # Show full error reports and disable caching.
13 | config.consider_all_requests_local = true
14 | config.action_controller.perform_caching = false
15 |
16 | # Don't care if the mailer can't send.
17 | config.action_mailer.raise_delivery_errors = false
18 |
19 | # Print deprecation notices to the Rails logger.
20 | config.active_support.deprecation = :log
21 |
22 | # Raise an error on page load if there are pending migrations.
23 | config.active_record.migration_error = :page_load
24 |
25 | # Debug mode disables concatenation and preprocessing of assets.
26 | # This option may cause significant delays in view rendering with a large
27 | # number of complex assets.
28 | config.assets.debug = true
29 |
30 | # Asset digests allow you to set far-future HTTP expiration dates on all assets,
31 | # yet still be able to expire them through the digest params.
32 | config.assets.digest = true
33 |
34 | # Adds additional error checking when serving assets at runtime.
35 | # Checks for improperly declared sprockets dependencies.
36 | # Raises helpful error messages.
37 | config.assets.raise_runtime_errors = true
38 |
39 | # Raises error for missing translations
40 | # config.action_view.raise_on_missing_translations = true
41 | end
42 |
--------------------------------------------------------------------------------
/junk/rrails/public/422.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | The change you wanted was rejected (422)
5 |
6 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
The change you wanted was rejected.
62 |
Maybe you tried to change something you didn't have access to.
63 |
64 |
If you are the application owner check the logs for more information.
65 |
66 |
67 |
68 |
--------------------------------------------------------------------------------
/junk/rrails/public/404.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | The page you were looking for doesn't exist (404)
5 |
6 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
The page you were looking for doesn't exist.
62 |
You may have mistyped the address or the page may have moved.
63 |
64 |
If you are the application owner check the logs for more information.
65 |
66 |
67 |
68 |
--------------------------------------------------------------------------------
/junk/rrails/config/environments/test.rb:
--------------------------------------------------------------------------------
1 | Rails.application.configure do
2 | # Settings specified here will take precedence over those in config/application.rb.
3 |
4 | # The test environment is used exclusively to run your application's
5 | # test suite. You never need to work with it otherwise. Remember that
6 | # your test database is "scratch space" for the test suite and is wiped
7 | # and recreated between test runs. Don't rely on the data there!
8 | config.cache_classes = true
9 |
10 | # Do not eager load code on boot. This avoids loading your whole application
11 | # just for the purpose of running a single test. If you are using a tool that
12 | # preloads Rails for running tests, you may have to set it to true.
13 | config.eager_load = false
14 |
15 | # Configure static file server for tests with Cache-Control for performance.
16 | config.serve_static_files = true
17 | config.static_cache_control = 'public, max-age=3600'
18 |
19 | # Show full error reports and disable caching.
20 | config.consider_all_requests_local = true
21 | config.action_controller.perform_caching = false
22 |
23 | # Raise exceptions instead of rendering exception templates.
24 | config.action_dispatch.show_exceptions = false
25 |
26 | # Disable request forgery protection in test environment.
27 | config.action_controller.allow_forgery_protection = false
28 |
29 | # Tell Action Mailer not to deliver emails to the real world.
30 | # The :test delivery method accumulates sent emails in the
31 | # ActionMailer::Base.deliveries array.
32 | config.action_mailer.delivery_method = :test
33 |
34 | # Randomize the order test cases are executed.
35 | config.active_support.test_order = :random
36 |
37 | # Print deprecation notices to the stderr.
38 | config.active_support.deprecation = :stderr
39 |
40 | # Raises error for missing translations
41 | # config.action_view.raise_on_missing_translations = true
42 | end
43 |
--------------------------------------------------------------------------------
/junk/README.md:
--------------------------------------------------------------------------------
1 | # RustExample
2 |
3 | This repository has two directories. One is `rust`, and one is `ruby`. They
4 | work together.
5 |
6 | The end result? A Ruby gem that's actually implemented in Rust.
7 |
8 | ## Trying it out
9 |
10 | I've provided a handy `Makefile` that does all the right stuff in the right
11 | order to make this work. So just
12 |
13 | $ make
14 |
15 | And hopefully it'll work. I built this on Linux, and I _think_ it should work
16 | on OS X. I don't know anything about Windows in general. Help very welcome!
17 |
18 | UPDATE: @coffeejunk offered an OSX build
19 | [here](https://github.com/steveklabnik/rust_example/issues/1#issuecomment-58880039).
20 | I have pushed it to RubyGems, after checking it out. It seems legit to me, but
21 | I don't own a Mac, so use it at your own risk.
22 |
23 | So what does `make` do? This:
24 |
25 | ## Rust
26 |
27 | The Rust stuff is in the `rust` directory. It's a regular old Cargo project
28 | that builds a static library (`.a`) that exposes a C ABI.
29 |
30 | To build, like with all Cargo projects, just type
31 |
32 | $ cargo build
33 |
34 | inside the `rust` directory.
35 | It requires Rust Nightly.
36 |
37 | ## Ruby
38 |
39 | The `ruby` directory contains a gem. This gem has a C extension. That's right,
40 | there's actually _three_ languages here, not just two.
41 |
42 | The C extension relies on a static library. You know, like the one the Rust
43 | project builds.
44 |
45 | To build the gem, do this:
46 |
47 | $ cp rust/target/librust_example*.a ruby/ext/rust_example/
48 |
49 | We need to put our shiny new Rust library in the right place for Ruby to see
50 | it.
51 |
52 | And then do this from within the `ruby` directory:
53 |
54 | $ cd ext/rust_example
55 | $ ruby extconf.rb
56 | $ cd ../..
57 | $ bundle
58 | $ rake build
59 |
60 | ## Why all the mess?
61 |
62 | If this was a more 'real' gem, we'd be doing a lot more stuff. And Ruby doesn't
63 | really have a "C extension API" as much as it has "please link against my
64 | internals thanks." So you end up using special types like `VALUE` and macros
65 | like `NIL_P(obj)` and [other stuff like
66 | this](https://github.com/ruby/ruby/blob/trunk/README.EXT#L89) to marshall
67 | between "MRI stuff" and "regular C stuff." Re-implementing all this in Rust
68 | seems error prone, so I think that a thin C layer which uses this stuff
69 | and then passes the "regular C stuff" to Rust makes more sense than
70 | reimplementing [stuff like
71 | this](https://github.com/ruby/ruby/blob/97d3b04c9b4ac50f9110001a772d59590a6f6274/include/ruby/ruby.h#L491-L507)
72 | just to get rid of the C.
73 |
--------------------------------------------------------------------------------
/junk/rrails/config/environments/production.rb:
--------------------------------------------------------------------------------
1 | Rails.application.configure do
2 | # Settings specified here will take precedence over those in config/application.rb.
3 |
4 | # Code is not reloaded between requests.
5 | config.cache_classes = true
6 |
7 | # Eager load code on boot. This eager loads most of Rails and
8 | # your application in memory, allowing both threaded web servers
9 | # and those relying on copy on write to perform better.
10 | # Rake tasks automatically ignore this option for performance.
11 | config.eager_load = true
12 |
13 | # Full error reports are disabled and caching is turned on.
14 | config.consider_all_requests_local = false
15 | config.action_controller.perform_caching = true
16 |
17 | # Enable Rack::Cache to put a simple HTTP cache in front of your application
18 | # Add `rack-cache` to your Gemfile before enabling this.
19 | # For large-scale production use, consider using a caching reverse proxy like
20 | # NGINX, varnish or squid.
21 | # config.action_dispatch.rack_cache = true
22 |
23 | # Disable serving static files from the `/public` folder by default since
24 | # Apache or NGINX already handles this.
25 | config.serve_static_files = ENV['RAILS_SERVE_STATIC_FILES'].present?
26 |
27 | # Compress JavaScripts and CSS.
28 | config.assets.js_compressor = :uglifier
29 | # config.assets.css_compressor = :sass
30 |
31 | # Do not fallback to assets pipeline if a precompiled asset is missed.
32 | config.assets.compile = false
33 |
34 | # Asset digests allow you to set far-future HTTP expiration dates on all assets,
35 | # yet still be able to expire them through the digest params.
36 | config.assets.digest = true
37 |
38 | # `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb
39 |
40 | # Specifies the header that your server uses for sending files.
41 | # config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache
42 | # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX
43 |
44 | # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
45 | # config.force_ssl = true
46 |
47 | # Use the lowest log level to ensure availability of diagnostic information
48 | # when problems arise.
49 | config.log_level = :debug
50 |
51 | # Prepend all log lines with the following tags.
52 | # config.log_tags = [ :subdomain, :uuid ]
53 |
54 | # Use a different logger for distributed setups.
55 | # config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new)
56 |
57 | # Use a different cache store in production.
58 | # config.cache_store = :mem_cache_store
59 |
60 | # Enable serving of images, stylesheets, and JavaScripts from an asset server.
61 | # config.action_controller.asset_host = 'http://assets.example.com'
62 |
63 | # Ignore bad email addresses and do not raise email delivery errors.
64 | # Set this to true and configure the email server for immediate delivery to raise delivery errors.
65 | # config.action_mailer.raise_delivery_errors = false
66 |
67 | # Enable locale fallbacks for I18n (makes lookups for any locale fall back to
68 | # the I18n.default_locale when a translation cannot be found).
69 | config.i18n.fallbacks = true
70 |
71 | # Send deprecation notices to registered listeners.
72 | config.active_support.deprecation = :notify
73 |
74 | # Use default logging formatter so that PID and timestamp are not suppressed.
75 | config.log_formatter = ::Logger::Formatter.new
76 |
77 | # Do not dump schema after migrations.
78 | config.active_record.dump_schema_after_migration = false
79 | end
80 |
--------------------------------------------------------------------------------