Permalink
Browse files

first commit

  • Loading branch information...
0 parents commit 6c4f292bbd6266c0d01dcf9aefe219a394981647 @tosik committed Apr 4, 2013
Showing with 137 additions and 0 deletions.
  1. +17 −0 .gitignore
  2. +1 −0 .rvmrc
  3. +4 −0 Gemfile
  4. +22 −0 LICENSE.txt
  5. +29 −0 README.md
  6. +1 −0 Rakefile
  7. +25 −0 ikioi-checker.gemspec
  8. +5 −0 lib/ikioi.rb
  9. BIN lib/ikioi/.DS_Store
  10. +30 −0 lib/ikioi/checker.rb
  11. +3 −0 lib/ikioi/version.rb
@@ -0,0 +1,17 @@
+*.gem
+*.rbc
+.bundle
+.config
+.yardoc
+Gemfile.lock
+InstalledFiles
+_yardoc
+coverage
+doc/
+lib/bundler/man
+pkg
+rdoc
+spec/reports
+test/tmp
+test/version_tmp
+tmp
1 .rvmrc
@@ -0,0 +1 @@
+rvm use 2.0.0@ikioi-checker
@@ -0,0 +1,4 @@
+source 'https://rubygems.org'
+
+# Specify your gem's dependencies in ikioi-checker.gemspec
+gemspec
@@ -0,0 +1,22 @@
+Copyright (c) 2013 Toshiyuki Hirooka
+
+MIT License
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,29 @@
+# Ikioi
+
+TODO: Write a gem description
+
+## Installation
+
+Add this line to your application's Gemfile:
+
+ gem 'ikioi'
+
+And then execute:
+
+ $ bundle
+
+Or install it yourself as:
+
+ $ gem install ikioi
+
+## Usage
+
+TODO: Write usage instructions here
+
+## Contributing
+
+1. Fork it
+2. Create your feature branch (`git checkout -b my-new-feature`)
+3. Commit your changes (`git commit -am 'Add some feature'`)
+4. Push to the branch (`git push origin my-new-feature`)
+5. Create new Pull Request
@@ -0,0 +1 @@
+require "bundler/gem_tasks"
@@ -0,0 +1,25 @@
+# coding: utf-8
+lib = File.expand_path('../lib', __FILE__)
+$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
+require 'ikioi/version'
+
+Gem::Specification.new do |spec|
+ spec.name = "ikioi"
+ spec.version = Ikioi::VERSION
+ spec.authors = ["Toshiyuki Hirooka"]
+ spec.email = ["toshi.hirooka@gmail.com"]
+ spec.description = %q{Fetches '2ch ikioi'}
+ spec.summary = %q{Fetches '2ch ikioi'}
+ spec.homepage = ""
+ spec.license = "MIT"
+
+ spec.files = `git ls-files`.split($/)
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
+ spec.require_paths = ["lib"]
+
+ spec.add_runtime_dependency "active_support"
+
+ spec.add_development_dependency "bundler", "~> 1.3"
+ spec.add_development_dependency "rake"
+end
@@ -0,0 +1,5 @@
+require "ikioi/version"
+require 'ikioi/checker'
+
+module Ikioi
+end
Binary file not shown.
@@ -0,0 +1,30 @@
+require "active_support"
+require "open-uri"
+
+module Ikioi
+ class Checker
+
+ def initialize(keyword)
+ @keyword = keyword
+ end
+
+ def keyword
+ @keyword
+ end
+
+ def fetch
+ @last_ikioi = parse(fetch_jsonp).find {|item| item['title'].include?(keyword) }['ikioi']
+ rescue OpenURI::HTTPError => e
+ @last_ikioi
+ end
+
+ def parse(jsonp)
+ ActiveSupport::JSON.decode(jsonp.sub('callback(', '').sub(/\);$/, ''))
+ end
+
+ def fetch_jsonp
+ open('http://2ch-ranking.net/ranking.json?board=gameswf').read
+ end
+
+ end
+end
@@ -0,0 +1,3 @@
+module Ikioi
+ VERSION = "0.0.1"
+end

0 comments on commit 6c4f292

Please sign in to comment.