muzang-plugins 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +17 -0
- data/Gemfile +4 -0
- data/Rakefile +11 -0
- data/lib/muzang-plugins.rb +11 -0
- data/lib/muzang-plugins/helpers.rb +39 -0
- data/lib/muzang-plugins/muzang-eval.rb +51 -0
- data/lib/muzang-plugins/muzang-livereload.rb +19 -0
- data/lib/muzang-plugins/muzang-meme.rb +51 -0
- data/lib/muzang-plugins/muzang-motd.rb +21 -0
- data/lib/muzang-plugins/muzang-nerdpursuit.rb +95 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/algorithms/fastes_sorting_algorithm.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/algorithms/run_time_of_bst.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/bash/last_cmd_sub.json +13 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/bash/last_directory.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/bash/prefix_last_command.json +13 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/couchdb/new_database.json +10 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/css/attribute_selectors.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/css/background_image.json +15 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/css/float_left.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/css/hexadecimal_code.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/css/how_do_you_use_multiple_box_sha.json +15 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/css/media.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/css/position_fixed_support.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/css/position_property.json +15 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/css/release_date.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/css/roses.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/css/z-index_property.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/culture/all_ur_base.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/culture/answer_to_everything.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/culture/club_mate_caffeine.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/culture/ook_ook.json +15 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/culture/prediction_gates.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/culture/the_cake.json +15 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/culture/to_which_year_marty_mcfly_wants.json +15 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/culture/what_is_a_traditional_vulcan_sa.json +15 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/culture/what_is_the_c_base.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/culture/when_life_gives_you_lemons.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/culture/where_are_the_characters_of_daw.json +15 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/culture/which_character_in_star_trek_se.json +15 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/culture/who_is_the_first_character_to_b.json +15 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/culture/yo_dawg.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/data/half_a_byte.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/flash/fps.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/flash/trace_something_in_as3.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/grafix/png.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/grafix/ps_save_for_web.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/grafix/screen_image_resolution.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/html/how_do_you_specify_html5_doctyp.json +15 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/html/img_tag.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/html/optional_html_tags.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/html/strict_doctype.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/http/HTCPCP.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/javascript/chrome_v8.json +10 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/javascript/fun_with_brackets.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/javascript/how_can_you_access_the_data_pas.json +15 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/javascript/jquery_sizzle.json +10 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/javascript/json.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/javascript/jsonp.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/javascript/nodetype_of_text_node.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/javascript/same_origin_policy.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/javascript/string_object_coercion_internals.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/javascript/typeof_arguments.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/javascript/valid_function_expression.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/javascript/what_s_4_2.json +15 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/javascript/what_s_typeof_null.json +12 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/javascript/who_created_jquery.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/php/invited-php.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/python/square_numbers_in_list.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/rails/controller_action.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/rails/folders.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/rails/pluralize_person.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/rails/rails_first_shown.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/rails/rails_inventor.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/rails/rake_about.json +11 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/rails/simple_format.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/regex/emails.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/regex/lazy.json +13 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/regex/min_max_quantifier.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/regex/negative_look_ahead.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/regex/prime.json +10 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/2_seconds.json +15 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/about_ruby.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/absolute_superclass_1.8.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/absolute_superclass_1.9.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/active_record_base.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/array_all_but_the_first.json +15 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/array_all_but_the_first_and_last .json +15 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/array_all_but_the_last.json +15 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/array_ampersand.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/array_get_and remove_first_element.json +15 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/array_get_and remove_last_element.json +15 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/array_pipe.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/array_splat.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/array_to_csv_string.json +15 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/backticks_in_ruby.json +15 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/base_object.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/best_language.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/bitwise_and.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/bitwise_or.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/class_inheritance.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/collect_alternative.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/comparsion.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/constants.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/date_format_month.json +10 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/divmod.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/enumerable.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/equality.json +13 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/falsy.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/fizzbuzz.json +15 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/garbarge_collector_in_19.json +15 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/global_variable_character.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/hash_with_indifferent_access.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/how_is_ruby_licensed.json +15 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/how_many_gems.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/instance_exec.json +10 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/kanji_converter.json +10 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/kernel-sprintf-2.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/kernel-sprintf.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/kernel.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/matz.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/method_used_for_comparisions.json +15 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/mixins_are_what.json +15 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/new_lambda_calling_syntax.json +13 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/new_lambda_constructing_syntax.json +10 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/nil.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/nil_id.json +15 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/nilclass.json +10 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/numeric_types.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/private_method_in_ruby.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/protected_method_in_ruby.json +15 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/quo.json +10 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/ranges_three_dots.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/return_value_or.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/rspec_controller_render_views.json +10 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/spaceship_operator.json +15 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/string_clean_whitespace.json +15 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/sum_things_up.json +15 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/symbol_identity_01.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/symbol_identity_02.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/symbol_identity_03.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/symbol_string_ids.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/symbols.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/the_difference_between_and_operators.json +15 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/unless_wtf.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/weakref.json +10 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/what_did_matz_say_about_ruby.json +15 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/what_do_array.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/what_do_string.json +14 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/what_does_gil_stands_for.json +15 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/what_does_negate_regexp_operator_do.json +15 -0
- data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/what_is_a_mixin.json +14 -0
- data/lib/muzang-plugins/muzang-plusone.rb +49 -0
- data/lib/muzang-plugins/muzang-reddit.rb +42 -0
- data/lib/muzang-plugins/muzang-rubygems.rb +43 -0
- data/lib/muzang-plugins/version.rb +5 -0
- data/muzang-plugins.gemspec +23 -0
- data/spec/livereload_spec.rb +23 -0
- data/spec/meme_spec.rb +43 -0
- data/spec/motd_spec.rb +18 -0
- data/spec/muzang-eval_spec.rb +43 -0
- data/spec/nerdpursuit_spec.rb +76 -0
- data/spec/plusone_spec.rb +67 -0
- data/spec/reddit_spec.rb +45 -0
- data/spec/rubygems_spec.rb +37 -0
- data/spec/spec_helper.rb +11 -0
- data/spec/support/connection_mock.rb +15 -0
- data/spec/support/responses/meme.response +4 -0
- data/spec/support/responses/reddit.response +3 -0
- data/spec/support/responses/rubygems.response +3 -0
- metadata +259 -0
@@ -0,0 +1,14 @@
|
|
1
|
+
{ "question" : {
|
2
|
+
"id": "",
|
3
|
+
"category": "ruby",
|
4
|
+
"nerd_level": 1,
|
5
|
+
"text": "What is the return value of nil || 'a' ?",
|
6
|
+
"a1": "true",
|
7
|
+
"a2": "false",
|
8
|
+
"a3": "nil",
|
9
|
+
"a4": "'a'",
|
10
|
+
"right_answer": "a4",
|
11
|
+
"created_at": "2011-06-07",
|
12
|
+
"created_by": "Paul"
|
13
|
+
}
|
14
|
+
}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
{
|
2
|
+
"question": {
|
3
|
+
"category": "ruby",
|
4
|
+
"right_answer": "a2",
|
5
|
+
"nerd_level": 4,
|
6
|
+
"text": "What is the spaceship operator?",
|
7
|
+
"a1": "=||=",
|
8
|
+
"a2": "<=>",
|
9
|
+
"a3": "[] (two square brackets)",
|
10
|
+
"a4": "(=)",
|
11
|
+
"created_by": "nbartlomiej",
|
12
|
+
"id": "",
|
13
|
+
"created_at": "2011-06-14"
|
14
|
+
}
|
15
|
+
}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
{
|
2
|
+
"question": {
|
3
|
+
"nerd_level": 2,
|
4
|
+
"text": "How to remove leading and trailing whitespace from a string.",
|
5
|
+
"a1": "str.clean",
|
6
|
+
"a2": "str.spit",
|
7
|
+
"a3": "str.split",
|
8
|
+
"a4": "str.strip",
|
9
|
+
"category": "ruby",
|
10
|
+
"right_answer": "a4",
|
11
|
+
"created_by": "Georg Leciejewski",
|
12
|
+
"created_at": "2011-06-27",
|
13
|
+
"id": ""
|
14
|
+
}
|
15
|
+
}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
{
|
2
|
+
"question" : {
|
3
|
+
"id": "",
|
4
|
+
"category": "ruby",
|
5
|
+
"nerd_level": 1,
|
6
|
+
"text":"Which one will sum up an array of numbers?",
|
7
|
+
"a1": "[1,2,3].sum",
|
8
|
+
"a2": "[1,2,3].flatten!.inject(&:+)",
|
9
|
+
"a3": "[1,2,3].reduce{|remainder,n| remainder + n}",
|
10
|
+
"a4": "[1,2,3].sum(&:add)",
|
11
|
+
"right_answer":"a3",
|
12
|
+
"created_at": "2011-06-09",
|
13
|
+
"created_by": "kangguru"
|
14
|
+
}
|
15
|
+
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
{ "question" : {
|
2
|
+
"id": "",
|
3
|
+
"category": "ruby",
|
4
|
+
"nerd_level": 1,
|
5
|
+
"text": "What are the outputs for a == b and a.equal?(b) with a = 'xy' and b = a?",
|
6
|
+
"a1": "true and false",
|
7
|
+
"a2": "true and true",
|
8
|
+
"a3": "false and false",
|
9
|
+
"a4": "false and true",
|
10
|
+
"right_answer": "a2",
|
11
|
+
"created_at": "2011-06-07",
|
12
|
+
"created_by": "Paul"
|
13
|
+
}
|
14
|
+
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
{ "question" : {
|
2
|
+
"id": "",
|
3
|
+
"category": "ruby",
|
4
|
+
"nerd_level": 1,
|
5
|
+
"text": "What are the outputs for a == b and a.equal?(b) with a = 'xy' and b = 'xy'?",
|
6
|
+
"a1": "true and false",
|
7
|
+
"a2": "true and true",
|
8
|
+
"a3": "false and false",
|
9
|
+
"a4": "false and true",
|
10
|
+
"right_answer": "a1",
|
11
|
+
"created_at": "2011-06-07",
|
12
|
+
"created_by": "Paul"
|
13
|
+
}
|
14
|
+
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
{ "question" : {
|
2
|
+
"id": "",
|
3
|
+
"category": "ruby",
|
4
|
+
"nerd_level": 1,
|
5
|
+
"text": "What are the outputs for a == b and a.equal?(b) with a = :xy and b = :xy?",
|
6
|
+
"a1": "true and false",
|
7
|
+
"a2": "true and true",
|
8
|
+
"a3": "false and false",
|
9
|
+
"a4": "false and true",
|
10
|
+
"right_answer": "a2",
|
11
|
+
"created_at": "2011-06-07",
|
12
|
+
"created_by": "Paul"
|
13
|
+
}
|
14
|
+
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
{ "question" : {
|
2
|
+
"id": "",
|
3
|
+
"category": "ruby",
|
4
|
+
"nerd_level": 1,
|
5
|
+
"text": "Where is a.id == b.id?",
|
6
|
+
"a1": "a = 'xy'; b = 'xy'",
|
7
|
+
"a2": "a = :xy; b = :xy",
|
8
|
+
"a3": "a = 'xy'; b = :xy",
|
9
|
+
"a4": "a = :xy; b= 'xy'",
|
10
|
+
"right_answer": "a2",
|
11
|
+
"created_at": "2011-06-07",
|
12
|
+
"created_by": "Paul"
|
13
|
+
}
|
14
|
+
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
{ "question" : {
|
2
|
+
"id": "",
|
3
|
+
"category": "ruby",
|
4
|
+
"nerd_level": 1,
|
5
|
+
"text": "What are Ruby symbols?",
|
6
|
+
"a1": "Hash Keys.",
|
7
|
+
"a2": "Immutable strings.",
|
8
|
+
"a3": "Ruby pointers.",
|
9
|
+
"a4": "Ruby's Array index.",
|
10
|
+
"right_answer": "a2",
|
11
|
+
"created_at": "2011-06-07",
|
12
|
+
"created_by": "Paul"
|
13
|
+
}
|
14
|
+
}
|
data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/the_difference_between_and_operators.json
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
{
|
2
|
+
"question": {
|
3
|
+
"id": "",
|
4
|
+
"nerd_level": 3,
|
5
|
+
"text": "What is the difference between && and \"and\" operators?",
|
6
|
+
"a1": "They are exactly the same",
|
7
|
+
"a2": "\"and\" operator is added by Rails",
|
8
|
+
"a3": "&& has a higher precedence",
|
9
|
+
"a4": "&& is deprecated in ruby 1.9",
|
10
|
+
"right_answer": "a3",
|
11
|
+
"created_by": "Michał Łomnicki",
|
12
|
+
"created_at": "2011-09-08",
|
13
|
+
"category": "ruby"
|
14
|
+
}
|
15
|
+
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
{ "question" : {
|
2
|
+
"id": "",
|
3
|
+
"category": "ruby",
|
4
|
+
"nerd_level": 1,
|
5
|
+
"text":"(1..4).reverse_each {|i| puts i unless i.equal?(i**i) } # Which of the following will not be printed?",
|
6
|
+
"a1": "1",
|
7
|
+
"a2": "2",
|
8
|
+
"a3": "3",
|
9
|
+
"a4": "4",
|
10
|
+
"right_answer":"a1",
|
11
|
+
"created_at": "2011-06-06",
|
12
|
+
"created_by": "juliancheal"
|
13
|
+
}
|
14
|
+
}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
{
|
2
|
+
"question": {
|
3
|
+
"id": "",
|
4
|
+
"nerd_level": 1,
|
5
|
+
"category": "ruby",
|
6
|
+
"text": "What did Matz say about Ruby?",
|
7
|
+
"a1": "It should be abandoned because PHP 5.3 is damn good",
|
8
|
+
"a2": "It was created to implement JAVA",
|
9
|
+
"a3": "It was created to upset Bill Gates",
|
10
|
+
"a4": "It was created for programmer productivity and fun",
|
11
|
+
"right_answer": "a4",
|
12
|
+
"created_at": "2011-09-08",
|
13
|
+
"created_by": "Michał Łomnicki"
|
14
|
+
}
|
15
|
+
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
{ "question" : {
|
2
|
+
"id": "",
|
3
|
+
"category": "ruby",
|
4
|
+
"nerd_level": 2,
|
5
|
+
"text":"What is the result of [1,2,3] * 3?",
|
6
|
+
"a1": "[[1,2,3], [1,2,3], [1,2,3]]",
|
7
|
+
"a2": "[1, 2, 3, 1, 2, 3, 1, 2, 3]",
|
8
|
+
"a3": "[3, 6, 9]",
|
9
|
+
"a4": "[1, 8, 27]",
|
10
|
+
"right_answer":"a2",
|
11
|
+
"created_at": "2011-06-07",
|
12
|
+
"created_by": "Jost"
|
13
|
+
}
|
14
|
+
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
{ "question" : {
|
2
|
+
"id": "",
|
3
|
+
"category": "ruby",
|
4
|
+
"nerd_level": 2,
|
5
|
+
"text":"What is the result of \"hello\".tr_s('l','r')?",
|
6
|
+
"a1": "hero",
|
7
|
+
"a2": "helrlro",
|
8
|
+
"a3": "herro",
|
9
|
+
"a4": "heo",
|
10
|
+
"right_answer":"a1",
|
11
|
+
"created_at": "2011-06-07",
|
12
|
+
"created_by": "Jost"
|
13
|
+
}
|
14
|
+
}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
{
|
2
|
+
"question": {
|
3
|
+
"id": "",
|
4
|
+
"nerd_level": 2,
|
5
|
+
"category": "ruby",
|
6
|
+
"text": "What does GIL stands for?",
|
7
|
+
"a1": "The name of a Ruby dialect for embedded devices",
|
8
|
+
"a2": "Game Illegaly Loaded",
|
9
|
+
"a3": "Global Interpreter Lock",
|
10
|
+
"a4": "Got Infinitive Length",
|
11
|
+
"right_answer": "a3",
|
12
|
+
"created_by": "Michał Łomnicki",
|
13
|
+
"created_at": "2011-09-08"
|
14
|
+
}
|
15
|
+
}
|
data/lib/muzang-plugins/muzang-nerdpursuit/questions/ruby/what_does_negate_regexp_operator_do.json
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
{
|
2
|
+
"question": {
|
3
|
+
"id": "",
|
4
|
+
"nerd_level": 1,
|
5
|
+
"text": "What does !~ operator do?",
|
6
|
+
"a1": "Performs bitwise XOR on its arguments",
|
7
|
+
"a2": "Returns the index of the first character matching the regexp",
|
8
|
+
"a3": "Returns false if the arguments match",
|
9
|
+
"a4": "Returns true if the arguments match",
|
10
|
+
"right_answer": "a3",
|
11
|
+
"created_at": "2011-09-08",
|
12
|
+
"category": "ruby",
|
13
|
+
"created_by": "Michał Łomnicki"
|
14
|
+
}
|
15
|
+
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
{
|
2
|
+
"question": {
|
3
|
+
"id": "",
|
4
|
+
"nerd_level": 1,
|
5
|
+
"category": "ruby",
|
6
|
+
"text": "What is a mixin?",
|
7
|
+
"a1": "A nickname of a Ruby creator",
|
8
|
+
"a2": "A successor of HTTP protocol",
|
9
|
+
"a3": "An implementation which may be shared across multiple classes",
|
10
|
+
"right_answer": "a3",
|
11
|
+
"created_by": "Michał Łomnicki",
|
12
|
+
"created_at": "2011-09-08"
|
13
|
+
}
|
14
|
+
}
|
@@ -0,0 +1,49 @@
|
|
1
|
+
require 'fileutils'
|
2
|
+
require 'yaml'
|
3
|
+
|
4
|
+
class PlusOne
|
5
|
+
include Muzang::Plugins::Helpers
|
6
|
+
|
7
|
+
attr_accessor :config, :stats
|
8
|
+
|
9
|
+
def initialize(bot)
|
10
|
+
@bot = bot
|
11
|
+
create_database("stats.yml", Hash.new, :stats)
|
12
|
+
end
|
13
|
+
|
14
|
+
def call(connection, message)
|
15
|
+
if on_channel?(message)
|
16
|
+
if (plus_for = match?(message, :regexp => /^([^\s]*) \+1/, :position => 1))
|
17
|
+
plus_for.gsub!(":","")
|
18
|
+
if filter(plus_for, message.nick)
|
19
|
+
connection.msg(message.channel, "#{message.nick} pisze w PHP") and return
|
20
|
+
end
|
21
|
+
|
22
|
+
connection.msg(message.channel, "#{message.nick} podarowal +1 dla *#{plus_for}*")
|
23
|
+
@stats[plus_for] ||= 0
|
24
|
+
@stats[plus_for] += 1
|
25
|
+
save
|
26
|
+
end
|
27
|
+
|
28
|
+
if match?(message, :regexp => /^!stats$/, :position => 0)
|
29
|
+
connection.msg(message.channel, print)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def print
|
35
|
+
message = ""
|
36
|
+
stat = @stats.sort_by { |points| -points[1] }
|
37
|
+
stat.each do |s|
|
38
|
+
message << "*#{s[0]}* #{s[1]} | " if s[1] > 0
|
39
|
+
end
|
40
|
+
|
41
|
+
message
|
42
|
+
end
|
43
|
+
|
44
|
+
def filter(plus_for, nick)
|
45
|
+
if plus_for == nick || @stats[nick] == nil
|
46
|
+
return true
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
require "em-http-request"
|
2
|
+
require "rss/1.0"
|
3
|
+
require "rss/2.0"
|
4
|
+
|
5
|
+
class Reddit
|
6
|
+
include Muzang::Plugins::Helpers
|
7
|
+
attr_accessor :last_update
|
8
|
+
|
9
|
+
def initialize(bot)
|
10
|
+
@bot = bot
|
11
|
+
create_database("last_update.yml", Time.now, :last_update)
|
12
|
+
end
|
13
|
+
|
14
|
+
def call(connection, message)
|
15
|
+
if on_join?(connection, message)
|
16
|
+
EventMachine::add_periodic_timer(period) do
|
17
|
+
http = EventMachine::HttpRequest.new('http://www.reddit.com/r/ruby/.rss').get
|
18
|
+
|
19
|
+
http.errback {
|
20
|
+
# exceptioner
|
21
|
+
}
|
22
|
+
|
23
|
+
http.callback {
|
24
|
+
rss = RSS::Parser.parse(http.response, false)
|
25
|
+
rss.items.each do |item|
|
26
|
+
connection.msg(message.channel, "#{item.title} | #{item.link}") if item.date > @last_update
|
27
|
+
end
|
28
|
+
save(rss)
|
29
|
+
}
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def save(rss)
|
35
|
+
@last_update = rss.items.max_by{|i|i.date}.date
|
36
|
+
file = File.open(@config + "/last_update.yml", "w"){|f| f.write YAML::dump(@last_update)}
|
37
|
+
end
|
38
|
+
|
39
|
+
def period
|
40
|
+
30
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
require "em-http-request"
|
2
|
+
require "json"
|
3
|
+
|
4
|
+
class RubyGems
|
5
|
+
include Muzang::Plugins::Helpers
|
6
|
+
|
7
|
+
attr_accessor :last_gem
|
8
|
+
|
9
|
+
def initialize(bot)
|
10
|
+
@bot = bot
|
11
|
+
create_database("last_gem.yml", String.new, :last_gem)
|
12
|
+
end
|
13
|
+
|
14
|
+
def call(connection, message)
|
15
|
+
if on_join?(connection, message)
|
16
|
+
EventMachine.add_periodic_timer(period) do
|
17
|
+
http = EventMachine::HttpRequest.new('http://rubygems.org/api/v1/gems/latest.json').get
|
18
|
+
|
19
|
+
http.errback {
|
20
|
+
# exceptioner
|
21
|
+
}
|
22
|
+
|
23
|
+
http.callback {
|
24
|
+
gems = JSON.parse(http.response)
|
25
|
+
gem = gems.first
|
26
|
+
unless @last_gem == gem["name"]
|
27
|
+
@last_gem = gem["name"]
|
28
|
+
connection.msg(message.channel, "Nowy gem! | #{gem["name"]} | #{gem["info"]} | #{gem["project_uri"]}")
|
29
|
+
save
|
30
|
+
end
|
31
|
+
}
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def save
|
37
|
+
file = File.open(@config + "/last_gem.yml", "w"){|f| f.write YAML::dump(@last_gem)}
|
38
|
+
end
|
39
|
+
|
40
|
+
def period
|
41
|
+
30
|
42
|
+
end
|
43
|
+
end
|