ef-bee-lib 0.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: eb0dc54ded01e3a7bf75ed1b4929532e3205b668
4
+ data.tar.gz: 4ba76feb263350e86f86dcaf443630b527e32921
5
+ SHA512:
6
+ metadata.gz: 6101f971915433a0e9e78dae3cd4e37ce5bb5bd13ecc6253c9ee0fcb877ff76e257a47f52c167df950433d1dd26fa183f2c3f8d33a945e86b7b236f7ece43c5c
7
+ data.tar.gz: 476a9a2b7b8e6c3c24fcec3c4bc7ea52c31311e85e6edc9f8112f6d7566b598ac185b5140d1dce8fd8e808a913ff91707e31782b5fdd0dea07d0e1ec32217917
@@ -0,0 +1,4 @@
1
+ module EfBeeLib
2
+ VERSION = '0.0.0'
3
+ DATE = '2017-07-24'
4
+ end
data/lib/ef-bee-lib.rb ADDED
@@ -0,0 +1,18 @@
1
+ require 'phantomjs'
2
+
3
+ module EfBeeLib
4
+
5
+ PJS_DIR = 'phantomjs'
6
+ POST_CMD = 'post.js'
7
+
8
+ def self.setup
9
+ Phantomjs.base_dir = File.expand_path "../../#{PJS_DIR}", __FILE__
10
+ Phantomjs.path
11
+ end
12
+
13
+ def self.post(msg)
14
+ setup
15
+ Phantomjs.run POST_CMD, msg
16
+ end
17
+
18
+ end
data/post.js ADDED
@@ -0,0 +1,78 @@
1
+ var page = new WebPage();
2
+ var system = require('system');
3
+ var env = system.env;
4
+ var args = system.args;
5
+
6
+ page.onConsoleMessage = function(msg) {
7
+ console.log(msg);
8
+ };
9
+
10
+ var steps = [
11
+ function() {
12
+ page.open('http://www.facebook.com');
13
+ },
14
+ function() {
15
+ page.evaluate(function(user, pass) {
16
+ var form = document.getElementById('login_form');
17
+ form.elements['email'].value = user;
18
+ form.elements['pass'].value = pass;
19
+ form.submit();
20
+ return;
21
+ }, env['USER'], env['PASS']);
22
+ if(env['DEBUG'] == 'true') {
23
+ page.render('login.png');
24
+ page.evaluate(function() {
25
+ console.log(document.querySelectorAll('html')[0].outerHTML);
26
+ return;
27
+ });
28
+ }
29
+ },
30
+ function() {
31
+ page.evaluate(function(msg) {
32
+ var forms = document.getElementsByClassName('_559p');
33
+ var i;
34
+ for(i = 0; i < forms.length; i++) {
35
+ if(forms[i].elements['xhpc_message'] != null) {
36
+ forms[i].elements['xhpc_message'].value = msg;
37
+ forms[i].elements['xhpc_message'].focus();
38
+ return;
39
+ }
40
+ }
41
+ return;
42
+ }, args[1]);
43
+ page.sendEvent('keypress', page.event.key.Enter, null, null, 0);
44
+ },
45
+ function() {
46
+ if(env['DEBUG'] == 'true') {
47
+ page.render('timeline.png');
48
+ page.evaluate(function() {
49
+ console.log(document.querySelectorAll('html')[0].outerHTML);
50
+ return;
51
+ });
52
+ }
53
+ page.evaluate(function() {
54
+ var bs = document.getElementsByTagName('button');
55
+ var i;
56
+ for(i = 0; i < bs.length; i++) {
57
+ if(bs[i].innerHTML.contains('Post')) {
58
+ bs[i].focus();
59
+ return;
60
+ }
61
+ }
62
+ return;
63
+ });
64
+ page.sendEvent('keypress', page.event.key.Enter, null, null, 0);
65
+ }
66
+ ];
67
+
68
+ var step = 1;
69
+
70
+ steps[0]();
71
+ interval = setInterval(function() {
72
+ if(typeof steps[step] === 'function') {
73
+ steps[step]();
74
+ step++;
75
+ } else {
76
+ phantom.exit();
77
+ }
78
+ }, 10000);
metadata ADDED
@@ -0,0 +1,91 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ef-bee-lib
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Ruslan Ledesma Garza
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2017-07-24 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: phantomjs
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '2.1'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '2.1'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '11.2'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '11.2'
41
+ - !ruby/object:Gem::Dependency
42
+ name: minitest
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '5.9'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '5.9'
55
+ description: 'ef-bee-lib is a library for Facebook.
56
+
57
+ '
58
+ email:
59
+ - ruslanledesmagarza@gmail.com
60
+ executables: []
61
+ extensions: []
62
+ extra_rdoc_files: []
63
+ files:
64
+ - lib/ef-bee-lib.rb
65
+ - lib/ef-bee-lib/version.rb
66
+ - post.js
67
+ homepage: https://github.com/mrrusof/ef-bee-lib
68
+ licenses:
69
+ - MIT
70
+ metadata: {}
71
+ post_install_message:
72
+ rdoc_options: []
73
+ require_paths:
74
+ - lib
75
+ required_ruby_version: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - ">="
78
+ - !ruby/object:Gem::Version
79
+ version: '0'
80
+ required_rubygems_version: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ version: '0'
85
+ requirements: []
86
+ rubyforge_project:
87
+ rubygems_version: 2.5.1
88
+ signing_key:
89
+ specification_version: 4
90
+ summary: ef-bee-lib is a library for Facebook.
91
+ test_files: []