post2irc 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in post2irc.gemspec
4
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,26 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ post2irc (0.0.1)
5
+ cinch
6
+ cinch
7
+ sinatra
8
+
9
+ GEM
10
+ remote: http://rubygems.org/
11
+ specs:
12
+ cinch (2.0.3)
13
+ rack (1.4.1)
14
+ rack-protection (1.2.0)
15
+ rack
16
+ sinatra (1.3.2)
17
+ rack (~> 1.3, >= 1.3.6)
18
+ rack-protection (~> 1.2)
19
+ tilt (~> 1.3, >= 1.3.3)
20
+ tilt (1.3.3)
21
+
22
+ PLATFORMS
23
+ ruby
24
+
25
+ DEPENDENCIES
26
+ post2irc!
data/Rakefile ADDED
@@ -0,0 +1 @@
1
+ require "bundler/gem_tasks"
data/bin/post2irc ADDED
@@ -0,0 +1,20 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ begin
4
+ require 'cinch'
5
+ require 'sinatra'
6
+ require 'post2irc'
7
+ rescue LoadError => e
8
+ require 'rubygems'
9
+ path = File.expand_path '../../lib', __FILE__
10
+ $:.unshift(path) if File.directory?(path) && !$:.include?(path)
11
+ require 'cinch'
12
+ require 'sinatra'
13
+ require 'post2irc'
14
+ end
15
+
16
+ irc_server, irc_port, irc_channels, irc_nickname, sinatra_bind, sinatra_port = ARGV
17
+
18
+ Ircbot.start irc_server, irc_port, irc_channels, irc_nickname
19
+ SinatraListener.start sinatra_bind, sinatra_port
20
+
@@ -0,0 +1,30 @@
1
+ class Ircbot
2
+ def self.start(server, port, channels, nickname)
3
+ puts "XXX start"
4
+ puts server
5
+ puts port
6
+ puts channels
7
+ puts nickname
8
+ @@channels = channels.split(',')
9
+ @@bot = Cinch::Bot.new do
10
+ configure do |c|
11
+ c.nick = 'aspbot'
12
+ c.user = "aspbot"
13
+ c.realname = "aspbot"
14
+ c.server = 'irc.freenode.net'
15
+ c.port = 6667
16
+ c.channels = @@channels
17
+ end
18
+ end
19
+ Thread.new do
20
+ @@bot.start
21
+ end
22
+ end
23
+
24
+ def self.report(message)
25
+ @@channels.each do |cname|
26
+ @@bot.Channel(cname).send "#{message}"
27
+ end
28
+ end
29
+ end
30
+
@@ -0,0 +1,16 @@
1
+
2
+ class SinatraListener < Sinatra::Base
3
+ def self.start(bind='0.0.0.0',port='4567')
4
+ configure :production, :development do
5
+ enable :logging
6
+ set :port, port
7
+ set :bind, bind
8
+ end
9
+ self.run!
10
+ end
11
+
12
+ get "/" do
13
+ Ircbot.report params[:q]
14
+ end
15
+ end
16
+
@@ -0,0 +1,3 @@
1
+ module Post2irc
2
+ VERSION = "0.0.1"
3
+ end
data/lib/post2irc.rb ADDED
@@ -0,0 +1,9 @@
1
+ require "post2irc/version"
2
+
3
+ require 'cinch'
4
+ require 'sinatra'
5
+
6
+ require 'post2irc/ircbot'
7
+ require 'post2irc/sinatra_listener'
8
+ #to use the gem just use the provided script under the bin directory
9
+
Binary file
data/post2irc.gemspec ADDED
@@ -0,0 +1,27 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "post2irc/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "post2irc"
7
+ s.version = Post2irc::VERSION
8
+ s.authors = ["javier ramirez"]
9
+ s.email = ["javier@formatinternet.com"]
10
+ s.homepage = "http://javier-ramirez.com"
11
+ s.summary = %q{Post to irc by sending a regular http post to a URL}
12
+ s.description = %q{This gem will start a sinatra script that will listen to posts and will publish the contents to an irc channel. No authentication is provided.}
13
+
14
+ s.rubyforge_project = "post2irc"
15
+
16
+ s.files = `git ls-files`.split("\n")
17
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
+ s.require_paths = ["lib"]
20
+
21
+ # specify any dependencies here; for example:
22
+ s.add_dependency "sinatra"
23
+ s.add_dependency "cinch"
24
+ s.add_runtime_dependency "cinch"
25
+ s.required_ruby_version = '>= 1.9.1'
26
+ end
27
+
metadata ADDED
@@ -0,0 +1,90 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: post2irc
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - javier ramirez
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-08-02 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: sinatra
16
+ requirement: &71413130 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *71413130
25
+ - !ruby/object:Gem::Dependency
26
+ name: cinch
27
+ requirement: &71412030 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *71412030
36
+ - !ruby/object:Gem::Dependency
37
+ name: cinch
38
+ requirement: &71411020 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :runtime
45
+ prerelease: false
46
+ version_requirements: *71411020
47
+ description: This gem will start a sinatra script that will listen to posts and will
48
+ publish the contents to an irc channel. No authentication is provided.
49
+ email:
50
+ - javier@formatinternet.com
51
+ executables:
52
+ - post2irc
53
+ extensions: []
54
+ extra_rdoc_files: []
55
+ files:
56
+ - Gemfile
57
+ - Gemfile.lock
58
+ - Rakefile
59
+ - bin/post2irc
60
+ - lib/post2irc.rb
61
+ - lib/post2irc/ircbot.rb
62
+ - lib/post2irc/sinatra_listener.rb
63
+ - lib/post2irc/version.rb
64
+ - pkg/post2irc-0.0.1.gem
65
+ - post2irc.gemspec
66
+ homepage: http://javier-ramirez.com
67
+ licenses: []
68
+ post_install_message:
69
+ rdoc_options: []
70
+ require_paths:
71
+ - lib
72
+ required_ruby_version: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: 1.9.1
78
+ required_rubygems_version: !ruby/object:Gem::Requirement
79
+ none: false
80
+ requirements:
81
+ - - ! '>='
82
+ - !ruby/object:Gem::Version
83
+ version: '0'
84
+ requirements: []
85
+ rubyforge_project: post2irc
86
+ rubygems_version: 1.8.10
87
+ signing_key:
88
+ specification_version: 3
89
+ summary: Post to irc by sending a regular http post to a URL
90
+ test_files: []